Java 中Byte 的取值范围

2018-12-10  本文已影响16人  shilichunfeng

基础概念一

位(bit)
字节(Byte)

基础概念二

在计算机内,定点数有3种表示法:原码、反码和补码
原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码:表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

JAVA中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。
正数的补码是其本身,负数的补码是其绝对值(即正数)取反加1。这里是各位取反,包括了符号位,注意与反码的区别

byte为一字节8位,最高位是符号位,
正数时:最大值是0111 1111(补码),0111 1111(反码),0111 1111(源码),故正数是最大为 127

负数时:最小值是1000 0000(补码),0111 1111(先减去1得到 反码),1000 0000(再取反得源码),故负数是最小值得绝对值为 2^7=128,就是 -128

JAVA byte最大值是127,最小值确实-128。(-128 ~ 127)

取材自https://blog.csdn.net/attack_breast/article/details/53931696

上一篇下一篇

猜你喜欢

热点阅读