您的位置:首页 > 其它

原码,反码,补码,个人理解

2015-05-13 22:45 232 查看
原码:

  二进制定点表示法,即最高位为符号位,”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。

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

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: