课程
/后端开发
/Java
/二进制与Java中的基本数据类型
为什么byte最小是-128,而不是-127。int、long也是同样疑问
2020-05-09
源自:二进制与Java中的基本数据类型 3-1
正在回答
一个byte等于8个bit,表示的数值只有后面7位。正数原码,由于最高位只能是0,因此最大值为:0 111 1111,即因为,有一个特殊数字,0。0和-128的原码是一样的,都是1000 0000因为有符号,那么就因该有+0和-0也就是1000 0000和0000 0000。而且用补码进行计算的时候,是带符号位计算的,那么1000 0000谁能分清这是0还是-128?所以发明的时候就规定-0为-128。所以这就是为什么最小范围是 -128.
举报
从认识二进制开始,逐步理解Java是如何存储和处理数据的。
1 回答1000 0001 不是十进制129吗?怎么是 -1 呢
1 回答右位移运算 PPT中 是不是有错误
2 回答为什么补码取反加一等于原码
1 回答为什么二进制2=10 4就等于100
2 回答视频中的错误地方,此处应该是5