问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

为什么计算机中用补码表示-128?

创作时间:
作者:
@小白创作中心

为什么计算机中用补码表示-128?

引用
百度
1.
https://zhidao.baidu.com/question/372999492201602932.html

在计算机科学中,数值的表示方式对于计算的准确性和效率至关重要。特别是在处理负数时,补码(Two's Complement)是一种常用的表示方法。那么,为什么计算机中要用补码来表示-128呢?

补码表示-128的原因

在计算机中,数值是以机器数的形式表示的,计算机只能识别0和1,使用的是二进制。在八位二进制下,-128不能用原码或反码表示,反码只能表示0到127,-0到-127。

用补码表示-128为:10000000

在八位整数里,原码的取值范围为-127到+127,反码也是。在八位二进制中,就把-0当作最小数-128用,也就是10000000。

  • -0的原码:10000000
  • -0的反码:11111111
  • -128的补码:10000000

原码的表示方法

小数原码

[ [X] = \begin{cases}
X & (0≤X <1) \
1- X & (-1 < X ≤ 0)
\end{cases} ]

例如:

  • X=+0.1011 , [X]原= 0.1011
  • X=-0.1011 , [X]原= 1.1011

整数原码

[ [X]原 = \begin{cases}
X & (0≤X <2^{n-1}) \
2^{n-1}-X & (- 2^{n-1} < X ≤ 0)
\end{cases} ]

  • x为正整数时,[X]原=x;
  • x为负整数时,[X]原=2的n次方-x;
  • x为负小数时,[X]原=1-x;

总结

因为八位的原码和反码,都不能表示-128。只有八位的补码,才能表示-128。因此,计算机只能用补码来表示和计算。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号