java中的整型有byte、short、int、long,它们的取值范围分别为:
byte:
−
2
7
-2^{7}
−27~
+
2
7
−
1
+2^{7} -1
+27−1,占1个字节。
short:
−
2
15
-2^{15}
−215~
+
2
15
−
1
+2^{15} -1
+215−1,占2个字节。
int:
−
2
31
-2^{31}
−231~
+
2
31
−
1
+2^{31} -1
+231−1,占4个字节。
long:
−
2
63
-2^{63}
−263~
+
2
63
−
1
+2^{63} -1
+263−1,占8个字节。
这几个整数都是有符号整数,以byte为例,取值范围计算为:
在计算机中,有符号整数在用二进制表示时,最高位符号为0代表是正数、1代表是负数,并且负数是以补码的形式存储的,就是将其原码除符号位外的所有位取反后加1。
byte占1个字节、8位,所以byte最高为01111 1111值为
+
2
7
−
1
+2^{7} -1
+27−1。将0111 1111取补码后为1000 0000也就是byte最低范围
−
2
7
-2^{7}
−27的值。
JAVA整形取值范围的计算
最新推荐文章于 2023-08-06 11:03:16 发布