你的位置:首页 > ASP.net教程

[ASP.net教程]原码,反码,补码,个人理解


原码:

  二进制定点表示法,即最高位为符号位,”0“表示正数,”1“表示负数,其余的位表示数值的大小

  正数的最高位为0

  负数的最高位为1

例子:

  符号位     数值位

+7  0   0000111    

-7   1   0000111

反码:

  正数的反码与原码相同,没有任何改变

  负数的反码:与原码的符号位不变,其他值取反,也就是0变1,1变0   

例子:

  符号位     数值位

+7  0   0000111    

-7   1   1111000

补码:

  正数的补码与原码相同,没有任何改变

  负数的补码是在反码的基础上加1

例子:

  符号位     数值位

+7  0   0000111    

-7   1   1111001

 

总结一下:

  一个byte 的范围为何是  -128~127

  一个字节为8个bit,也就是 00000000 (8位)

当计算机为了区分正数和负数,占去了一个符号位来表示正负,所以最大的数只能表示 1111111  (7位),

二进制的1111111转换为10进制就是+127。

 

请教下。。。我理解的对吗?