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

Posted xiaoan0705

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负数在计算机中的表示方法相关的知识,希望对你有一定的参考价值。

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

 

以上是关于负数在计算机中的表示方法的主要内容,如果未能解决你的问题,请参考以下文章

数在计算机中的表示

计算机中负数的表示方法(例子取自coursera)

在计算机中,为啥负数要用补码的形式表示呢?(图文并茂版)

Java连载14-补码简介&浮点型整数

原码反码补码,负数表示法

原码反码补码