美文网首页
负数的二进制表示方法

负数的二进制表示方法

作者: diveinljq | 来源:发表于2017-02-22 20:12 被阅读0次

    负数的二进制表示方法

    假设有一个 int 类型的数,值为3,那么,我们知道它在计算机中表示为:

    00000000 00000000 00000000 00000011

    因为int类型的数占用4字节(32位),所以前面填了一堆0。

    在计算机中,负数以其正值的补码形式表达。

    什么叫补码呢?这得先从原码,反码说起。

    原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

    比如 00000000 00000000 00000000 00000011 是 3的 原码。

    反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

    取反操作指:1变0;0变1

    比如:00000000 00000000 00000000 00000011的反码是11111111 11111111 11111111 11111100。

    补码:反码加1称为补码。

    也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

    比如:00000000 00000000 00000000 00000011 的反码是:11111111 11111111 11111111 11111100。

    那么,补码为:

    11111111 11111111 11111111 11111100 + 1 = 11111111 11111111 11111111 11111101

    所以,-3 在计算机中表达为:11111111 11111111 11111111 11111101。转换为十六进制:0xFFFFFFFD。

    整数-1在计算机中如何表示。

    假设这也是一个int类型,那么:

    1、先取1的原码:00000000 00000000 00000000 00000001

    2、得反码:    11111111 11111111 11111111 11111110

    3、得补码:    11111111 11111111 11111111 11111111

    相关文章

      网友评论

          本文标题:负数的二进制表示方法

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