计算机中的负数是如何表示的?

如题所述

就比如-9 补码是11110111。

9的源码为00001001,如果是负数的话,补码为最高位置1,

其余取反也就是11110110,

然后在最低位加1即可即11110111。

计算机中的负数是以其补码形式存在的 补码=原码取反+1。


一个字节有8位 可以表示的数值范围在 -128到+127。 


用二进制表示也就是 10000000 - 01111111(注意:最高位表示符号)。


最高位是1的都是负数 最高位是0的都是正数。


如-7 原码是 10000111 然后取反(最高位是符合不用取反)得11111000。


加一 得11111001 那么-7的二进制数就是 11111001。


再如 -10 原码是 10001010 取反得 11110101 加一得 11110110。


那么-10的二进制数就是 11110110。


二进制数是逢二进一 只有0和1两个数字 没有2。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-13

在计算机系统中,数值,一律采用补码表示和存储。

在计算机系统中,负数,以其“正值的补码形式”表示。

这就是说:负数,是用一个正数(补码)来表示的。

 

采用了补码(正数)表示负数之后,计算机中,就没有负数了。

同时,也就消除了减法运算。

因此,计算机只需配置一个加法器,便可走遍天下。

----------------------

正数(补码),怎么能表示负数呢?

这个规律,源于“计数系统的周期性”。

两位十进制数:0~99,其计数周期就是 10^2=100。

你看吧: 24 - 1 = 23

     24 + 99 = (一百) 23

如果你只保留两位数,+99 就可代替-1,加法代替减法。

计算公式: 代替负数的正数 = 负数 + 周期。

在计算机中,也可使用这个公式。

----------------------

一个字节是 8 位 2 进制数,计数周期就是 2^8 = 256。

代替-1 的是:255 = 1111 1111 (二进制)。

代替-2 的是:254 = 1111 1110 (二进制)。

。。。

代替-128 是:128 = 1000 0000 (二进制)。

这些“代替负数的正数”,就称为“补码”。

 

而零和正数,必须直接参加运算,不许变换。

所以,正数,不存在补码的概念。

就是说:正数就是正数,并不是补码。

相似回答