美文网首页
Java 中Byte 的取值范围

Java 中Byte 的取值范围

作者: shilichunfeng | 来源:发表于2018-12-10 10:41 被阅读16次

    基础概念一

    位(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

    相关文章

      网友评论

          本文标题:Java 中Byte 的取值范围

          本文链接:https://www.haomeiwen.com/subject/gtqrhqtx.html