原码,反码,补码,个人理解_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 原码,反码,补码,个人理解

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

 2015/5/14 3:11:40  永远的世界  程序员俱乐部  我要评论(0)
  • 摘要:原码:二进制定点表示法,即最高位为符号位,”0“表示正数,”1“表示负数,其余的位表示数值的大小正数的最高位为0负数的最高位为1例子:符号位数值位+700000111-710000111反码:正数的反码与原码相同,没有任何改变负数的反码:与原码的符号位不变,其他值取反,也就是0变1,1变0例子:符号位数值位+700000111-711111000补码:正数的补码与原码相同,没有任何改变负数的补码是在反码的基础上加1例子
  • 标签:个人 理解 补码

原码:

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

 

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

 

 

 

  

发表评论
用户名: 匿名