负数在计算机中的表示方法

假设有一个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

 

posted @ 2019-03-10 18:55  安xiao曦  阅读(3083)  评论(0编辑  收藏  举报