问题1:
截图是百度百科“二进制补码”的说明。图中红框中的数据是怎么由上一步得来的?
问题2:
1个字节的数值范围为什么是-128~+127 ? 是为什么不是-127~+127 ?
谢谢!
问题1:
截图是百度百科“二进制补码”的说明。图中红框中的数据是怎么由上一步得来的?
问题2:
1个字节的数值范围为什么是-128~+127 ? 是为什么不是-127~+127 ?
谢谢!
垃圾百度怎么说的不重要,以我下面说的为准:
假设是4位二进制整数
1 + (-1)
=0001 + 1111
=(1)0000 (前面假想的1是进位,实际上不存在)
=0
1个字节表示的范围是00000000~11111111
00000000~01111111是0~127
10000000~11111111是-128~-1
合起来就是-128~127
为什么10000000是-128,因为负数补码是最高位符号位1转化为-号,其余取反以后-1
所以10000000转换为-(1111111) - 1=-127 - 1=-128
类似11111111转换为-(0000000) - 1=-0 - 1=-1