Byte 一个字节的数据大小范围为什么是-128~127(原来是这样)

转自:https://blog.csdn.net/hml666888/article/details/81107043

一个字节是8位,最高位是符号位,最高位为0则是正数。最高位为1则是负数

如果一个数是正数,最大数则为:01111111,转为十进制为127,

如果一个数是负数,按照一般人都会觉得是11111111,转为十进制为-127,

但是:一个+0表示为:00000000,一个-0表示为:1000000,因为符号位不算在里面,所以就会有两个0,所以从一开始发明二进制的时候,就把-0规定为-128,如此二进制的补码就刚好在计算机中运作中吻合。

公式:计算一个数据类型的数据大小范围:-2^(字节数*8-1)~2^(字节数*8-1)-1

确实我就是那个一般人,总觉得应该是 最小的负数应该是11111111,十进制的-127. 原来是把-0规定为-128了。
 

猜你喜欢

转载自blog.csdn.net/zhashuiguangzi/article/details/88601512