黑马程序员技术交流社区
标题:
二进制 1000 0000 为什么是-128
[打印本页]
作者:
silentCat
时间:
2015-10-9 18:12
标题:
二进制 1000 0000 为什么是-128
原码 1000 0000
取反 1111 1111
加一 1 0000 0000
相当于多出一个bits
如果位运算符不参与加一,则补码
是 1 1000 0000
这个是什么机制
作者:
dzzheng3
时间:
2015-10-9 18:51
8位二进制补码是采用最高位来表示符号,低7位来表示数值大小的一种编码.8位二进制码有256种状态,可以表示256个数.如果表示范围是-127~+127的话,那就会存在两个0,就是+0和-0.而实际上,0是没有正负的,不需要有两个0.因此,就用+0(00000000)来表示0,而用-0(10000000)来表示-128,因为10000000=128,而恰好它的最高位即符号位=1表示负数.这是人为规定的,但这个规定与二进制补码规则不矛盾.
作者:
0925李超月
时间:
2015-10-9 19:35
最高位为1
作者:
苏轶博
时间:
2015-10-9 21:39
二进制前第一个数字是0,是正数,1则是负数
作者:
dai2686779
时间:
2015-10-9 21:47
666666666666666666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2