有符号一个字节最大和最小值
1Byte=8bit
一个字节八个位,有符号值,符号位占用1位【二进制表示=X,XXX XXXX】
计算机用1表示负数,0表示正数,用补码表示负数
正数
补码=原码
负数
补码=原码除去符号位(1位)其他各个位取反再在末尾+1
比如:
-1
原码:1,0000001
补码:1,11111110+1=1,1111111
- 最大值
最大值肯定为正数,正数符号位为0所以第一位为0
0,XXXXXXX
那么数值位肯定全为1
即(0,1111111)b=(2^7-1=127)d - 最小值
同理:最小值为负数,符号位:1
1,XXXXXXX
这边需要注意和正数不一样
错误想法
(1,1111111)b=(-127)d
其实应该是:1,0000000)b=(-128)d
我们反推
-(128)
=(-1)+(-127)
=(1,0000001)原+(1,1111111)原
=(1,1111111)补+(1,0000001)补
=1,0000000
现在我们正过来看
-128的原码=1,0000000
补码=(1,1111111)+1=1,0000000
会发现一个字节刚刚好能够表示,所以最小值为-128
即:有符号一个字节表示的范围为:【-128,127】