原文:byte类型的127+1=-128?

运行结果: a b 分析:首先byte的范围为 。字节长度为 位,最左边的是符号位,而 的二进制为: ,所以执行 a时, 变为 ,而 的二进制为: ,即为 而add b 其实为add ,而b b 其实为b ,b 则b 。 ...

2017-04-14 12:46 1 4696 推荐指数:

查看详情

byte类型的最小值为什么是-128而非-127

之前计算机基础内容忘得差不多了。 关于数据类型表示的数据范围问题, 这里byte类型表示的是-128~127 , 为什么不是-127~127 ?其实不光是byte类型,诸如byte、short、int、long等涉及到有符号的数据内向都存在负数表示要多一位的问题, 为什么是这样的呢? 这其实是 ...

Sat Sep 16 00:44:00 CST 2017 0 1185
关于byte的取值范围(-128~127

在Java中,byte的长度是一个字节,最高位是符号位。 那么正数最大是0111 1111,换算成十进制是127;最小的负数是1111 1111,即-127。 但是有一个特殊的数:0或-0,用来表示-128。 Java语言中没有无符号类型,都是有符号类型的数据类型。这就是为什么取值范围 ...

Fri Oct 26 21:56:00 CST 2018 0 921
为什么byte的取值范围是-128127

一个byte由八个位组成,如00000000,其中,符号位+数值位,前7位表示数值,第8位是符号位(0为正,1为负)。这样+1就是00000001,-1就是10000001。最大的正数就是0 1111111,即2^0+2^1+……+2^6=127;最小的负数,同理,为1 1111111,即-127 ...

Mon Feb 11 22:26:00 CST 2019 0 1184
为什么JAVA中(byte)128结果为-128;(byte)-129结果为127

为什么JAVA中(byte)128结果为-128;(byte)-129结果为127 在JAVA中默认的整型为int型,int型占4个字节,为32位。byte占一个字节为8位。 JAVA中的二进制都是采用补码形式存储: ⑴一个数为正,则它的原码、反码、补码相同 ⑵一个数为负,则符号位 ...

Tue Oct 12 23:06:00 CST 2021 0 120
带符号的char类型取值范围为什么是-128——127

以前经常看到带符号的char类型取值范围是-128——127,今天突然想为什么不是-127——127,-128是怎么来的? 127好理解,char类型是8位,最高位是符号位,0正1负,所以01111111是127。 但是-128是怎么来的呢?11111111不是-127 ...

Wed Jul 31 07:54:00 CST 2013 0 2671
int类型129转byte类型得到-127的解释

package com.yygc.zhen.codeing_base; /** * @author zhen * @Date 2019/2/22 10:03 * 类型转换 */ public class TypeTrans { public static void main ...

Sat Feb 23 22:17:00 CST 2019 0 536
short a = 128, byte b = (byte)a 强制类型转换

执行结果为:short强制类型转换为byte时,a=128,-128int强制类型转换为byte时,a1=-128,b1=127 跟计算机的数据表示格式有关:负数用补码表示。 ...

Thu Sep 12 20:46:00 CST 2013 2 10680
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM