java 为什么整型的最大值和最小值尾数不一样,负数要多1是因为什么?

2024-11-29 00:21:24
推荐回答(1个)
回答1:

不只是整形,char byte int long short都是这样,原因是二进制存储的问题。
以byte为例:1个字节 8个二进制位 实际范围是-128到127
8个位中最高位是标识位,1为负 0为正
正常范围(0/1)000 0001到(0/1)111 1111是正负1-127
中间的8位全0的0000 0000为十进制的0,而1000 0000正好当成是-128。(◕ˇ∀ˇ◕)
即负数是127+1(-128)个 正数是127个 还有个0