假设有一个int类型的数,值为5,在计算机中的表示为:(int型的数占4个字节,32位)所以前面会有一堆0
00000000 00000000 00000000 00000101
现在想知道-5在计算机中怎么表示?
在计算机中,负数以其绝对值的补码形式表达。 需要先获得其绝对值的原码,再得反码,再得补码。
首先理解几个概念:原码、反码、补码
原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
如:00000000 00000000 00000000 00000101 是5的原码。
反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
取反操作指:原为1,得0;原为0,得1。(1变0; 0变1)
比如将00000000 00000000 00000000 00000101每一位取反得:11111111 11111111 11111111 11111010
称11111111 11111111 11111111 11111010是00000000 00000000 00000000 00000101的反码
反码是相互的。
补码:反码加1称为补码。
比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。
那么,补码为:
11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011
所以-5在计算机中的表达为:11111111 11111111 11111111 11111011