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