java编程求原码,补码_java语言基础(原码反码补码)
計算機在操作的時候,都是采用數據對應的二進制補碼來計算的
1. 定義
有符號數據的表示法: 原碼 ,反碼,補碼
一 原碼?:? 二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。
所以? 原碼有兩部分組成 : 符號位?? ?數值
例子:? 原碼 ,反碼,補碼 分別表示 +7和 -7
7的二進制 : 00000111 ->? 111
正數的原碼最高位是 0
負數的原碼最高位是 1
原碼 :
正數的原碼最高位是 0
負數的原碼最高位是 1 ,
其他是數值位。
符號位?? ?數值
+7?????????? 0???????? 0000111
-7????????????1???????? 0000111
二 反碼 : 正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
正數的反碼與原碼相同 。
負數的反碼與原碼的符號位是不變得,數值位取反,就是1變0,0變1;
符號位?? ?? 數值
+7?????????? 0???????? 0000111
-7????????????1???????? 1111000
三? 補碼 :正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
正數的補碼與原碼相同
負數的補碼的反碼的基礎上加1
符號位?? ?? 數值
+7?????????? 0???????? 0000111
-7????????????1???????? 1111001(加1之后再判斷符號位有無改變)
例題 :
已知某數X的原碼為 10110100B 試求X的補碼和反碼
解:? 原碼
符號位?????????? ?數值
1(負數)??????????????0110100
反碼
符號位?????????????數值
1?????????????????????????1001011(跟原碼數值相反)
補碼
符號位????????????? 數值
1????????????????????????? 1001100
總結
以上是生活随笔為你收集整理的java编程求原码,补码_java语言基础(原码反码补码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uci数据集_干货收藏!三大领域常用十大
- 下一篇: Ubuntu换源失败:Could not