黑马程序员-原码,反码,补码

------- android培训java培训、期待与您交流! ----------

原码:最高位是符号位,0是正数,1是负数,剩下的为数值位
反码:符号位不变,数值位按位取反
补码:反码+1

计算机中数值是以“补码”的形式存储的

补码:负数的存储形式
反码:运算结果

正数的补码、原码是相同。
负数的补码:符号位为1,数值位是原码按位取反得反码后加1.

总之,正数的原码、反码和补码是完全相同的;
负数的原码、反码和补码其形式各不相同。
另外,特别要注意的是,对于负数的反码和补码(即符号位为1的数),其符号位后边的几位数表示的并不是此数的数值。如果要想知道此数的大小,一定要求其反码或补码才行。

例:

计算机的二进制数的有符号表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小;
原码:在数值前直接加一符号位的表示法。 
     例如:                                    符号位           数值位
           +7    8位存储       0         0000111
           -7                  1         0000111
反码:正数的反码与原码相同,负数的反码将数值部分按位取反:
	 例如:                                    符号位           数值位
           +7    反码          0         0000111
           -7                  1         1111000
补码:正数的补码与原码相同,负数的补码是反码 + 1:
    例如:                                    符号位           数值位
           +7    补码           0         0000111
           -7                   1         1111001


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值