基础概念一
位(bit)
- bit 表示二进制位,位是计算机内部数据存储最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态;两个二进制位可以表示00、01、10、11四种状态。
字节(Byte)
- 字节是计算机中数据处理的基本单位。计算机中以字节位单位存储和解释信息,规定一个字节由八个二进制位构成, 即一个字节等于8个比特(1Byte=8bit)。
基础概念二
- 原码、反码和补码
在计算机内,定点数有3种表示法:原码、反码和补码
原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码:表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码:表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
- JAVA中的正数、负数
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
网友评论