Byte字节的最小值为什么是-128?

文章详细解释了byte类型在计算机中的取值范围-128至127,重点讨论了负数部分的补码表示,强调10000000B对应-128这一特殊规则。同时指出,由于byte是8位,+0和-0在计算机中都表示为00000000。
摘要由CSDN通过智能技术生成

  byte的取值范围-128~127

一、一种比较合适的解释是如下图

二、第二种解释

负数部分的补码为10000001-11111111,转回到原码应该是11111111-10000001十进制为-127 ~(-1)

最重要的一点来了。补码里面还有一个没有用。它就是10000000B(人们常用字母“B”来表示二进制(binary)数,用字母“H”表示十六进制(hexadecimal)数.)

这个没法转成原码反码了,直接规定10000000B这个补码对应的是-128。

当然原码为(10000000B)是没有任何意义的,不用去追究了不会有(-0)的

​ -0的原码是1000 0000,反码是 1111 1111,补码是 10000 0000 ,因为byte只识别8位字节,所以补码是 0000 0000 。+0的原码是 0000 0000 ,反码补码都是其本身,还是0000 0000,我们日常中没 有-0,所以规定0在计算机中表示为 0000 0000。(+0和-0其实是一回事嘛) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值