作业帮 > 综合 > 作业

Java byte型怎么负数比正数少了一个

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/28 14:47:44
Java byte型怎么负数比正数少了一个
short
int
long
都是正数少一个呀
以byte为例:
11111111 左边第一个1,表示负号位,十进制的值为-1
也就是说10000000~11111111都是负数,即-128~-1
而范围在00000000~01111111都是正数,即0~127
最小的负数为 1000 0000,为什么是这个呢,因为计算机中负数是补码表示,真实的值是将补码除了符号位其余的取反,再加1,所以 1000 0000 除了符号位取反得 1111 1111,再加1,得到 1 0000 0000,但是它的属性是负数,所以是-128.明显看到它已经是9位了,这也是要用补码的一个原因. 具体的你可以查一下 原码 反码 补码 相关知识.