美文网首页
JAVA有符号数与无符号数原理 -128 到127

JAVA有符号数与无符号数原理 -128 到127

作者: Change_6556 | 来源:发表于2019-07-19 14:38 被阅读0次

    11111111表示-1
    1000000 表示-128 采用的二进制补码

    11111111 - 1 = 11111110
    -1 - 1 = -2
    +1原码 00000001
    整数反码和原码是其本身
    -1 原码 10000001
    符号位不变 其余相反
    -1 反码 111111110
    反码基础上加1
    -1 补码 111111111
    计算机使用补码 解决负数运算的问题
    1 + (-1) = 0
    00000001 + 11111111 = 100000000 (-0)

    机器数
    一个数在计算机中的表现形式叫做机器数,这个数有正负之分,在计算机中用一个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。

    例如正数7,在计算机中用一个8位的二进制数来表示,是00000111,而负数-7,则用10000111表示,这里的00000111和10000111是机器数

    真数
    计算机中的机器数对应的真实的值就是真数,对最高位(符号位)后面的二进制数转换成10进制,并根据最高位来确定这个数的正负。对于上面的00000111和10000111来说,对最高位后面的二进制数转换成10进制是7,在结合最高位的值,得出对应的真数分别是7和-7

    原码
    用第一位表示符号,其余位表示值。因为第一位是符号位,所以8位二进制数的取值范围就是:[1111_1111 , 0111_1111] 即 [-127 , 127] ,原码是容易被人脑所理解的表达方式

    反码
    正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。例如正数1的原码是[0000_0001],它的反码是是其本身

    [0000_0001],-1的原码是[1000_0001],其反码是[1111_1110]

    补码
    正数的补码是其本身,负数的补码是在其反码的基础上+1,例如正数1的原码是[0000_0001],他的补码是其本身[0000_0001],

    -1的补码是[1111_1111]
    参考链接https://www.cnblogs.com/yongdaimi/p/5945114.html

    相关文章

      网友评论

          本文标题:JAVA有符号数与无符号数原理 -128 到127

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