Java的byte类型取值范围为什么是负128到正127呢

本文探讨了Java中byte类型的取值范围为何是-128到127,讲解了补码、原码和反码的概念,并通过例子说明了-128的由来,指出由于正数的补码与原码相同,导致0000 0001到0111 1111被正数占用,而1000 0000则表示-128。
摘要由CSDN通过智能技术生成

Java的byte类型取值范围是-128~127为什么负数是128正数到127呢

概念:java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。

在了解byte取值范围之前,我们需要先了解原码、反码、补码

  1. 正数的原码、反码、补码是一样的 (都是其本身)
  2. 负数的反码是对其原码 逐位取反,但符号位除外 ;即(符号位不变,其余位取反即1变成0,0变成1 )
  3. 负数的补码是在其反码的末位加1。

栗子:

+21,其二进制表示形式是00010101,则其补码同样为00010101 
-21,按照概念其绝对值为00010101,各位取反为11101010,再加111101011,即-
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值