当前位置: 知识学习 > 什么是补码

什么是补码

  • 分类:知识学习
  • 更新时间:2025-05-02
  • 发布时间:2024-03-05 17:05:03
本文给大家分享“什么是补码”方面的内容,希望可以帮助大家啊!二进制反码怎么转换成补码?真值是负的,反码是11010101,补码是什么?补码是计算机表示数据的一般方式,其规则为:如果是整数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码
内容详情
本文给大家分享“什么是补码”方面的内容,希望可以帮助大家啊!

二进制反码怎么转换成补码?真值是负的,反码是11010101,补码是什么?

补码是计算机表示数据的一般方式,其规则为:如果是整数,则表示方法和原码一样;如果是负数,则将数字的反码加上1(相当于将原码数值位取反然后在最低位加1)。
补码: 11010110

75和-75的原码、反码、补码是什么

75
原码 0100 1011
反码 0100 1011
补码 0100 1011
-75
原码 1100 1011
反码 1011 0100
补码 1011 0101

什么是补码

正负数字,存放在计算机中,就称为:补码。

正数,就直接以二进制存放。

负数,则需要变换一下,再存放。

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

如果,仅使用两位十进制数,就是 00~99,共有 100 个数字。

减一,就可以用 +99 代替:

  28 - 1 = 27

  28 + 99 = (1) 27

忽略进位,结果就是相同的。

于是,99,就是-1 的补数;

同理,98,就是-1 的补数;

利用【补数】,就可把“相减”运算,改为“相加”。

利用【补数】,就可把“负数”改为“正数”。

对于“-1”,其对应的【补数】就是:100-1 = 99。

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

计算机中,没有数字。1 和 0,都是代码。

八位二进制代码,称为一个字节。

0000 0000~1111 1111,共有 256 个代码。

-1,就可以用 256- 1 = 255 (=1111 1111) 代替,

-2,就可以用 256- 2 = 254 (=1111 1110) 代替,

那么,1111 1111 就称为-1 的补码;

同理,1111 1110 也就是-2 的补码。

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

计算机中,只有加法器,没有减法器。

做减法运算,必须使用【补码】,用加法来操作。

补码的定义式,如下:

  正数的补码,就是该数字本身。

  负数的补码,就用“模”,加上该负数,即可。

求补码,并不需要“原码反码符号位 ”这些垃圾知识。

补码运算为什么会溢出

什么是溢出?

溢出,是指数据的大小,超出了编码所能表示的范围。

不仅是补码计算,任何形式的计算,都可能产生溢出。

比如:1999 年、2000 年 ...,这是用 4 位十进制表示。

当到了 9999 年,再过一年,你如果还用 4 位表示,就会溢出了。

如果不限制编码的位数,那就不存在溢出的问题。

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

两种常用的数字,在计算机中如租毁,都是用机器码代表的。其范围如下:


机器码,无论代表什么数字,只要运算结果超出范围,就是【溢出】。

但是,在计算机专业人的嘴里,就不一样渣备了。

  【无符号数的溢出】,不叫溢出,要叫做【进位】。

  【带型肆符号数的溢出】,才叫做【溢出】。

搞计算机的这些人,基本概念不清,却自命不凡!

冒充脑回路清奇。。。正常人对此,就只能无语了。

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

就按照计算机专业的说法吧:

  溢出,是指“补码运算结果超出范围”。

  溢出的特征,是“符号错误”。

知道了这些,判断是否溢出,就很容易了。

一、无符号数的运算,肯定不会溢出。只有进位。

二、只有:正+正、负+负,才有可能超出范围。不是这些,就绝不会溢出。

三、人工用数值计算。和,如果没有超出范围,就没有溢出。

四、人工用补码计算。和的符号,如果正确,就没有溢出。

五、编个程序,让计算机计算。然后观察溢出标志位,为零,就没有溢出。

六、人工用补码计算,如“最高位的进位”和“次高位的进位”相同,就没有溢出。

第六种,本是 CPU 的硬件所用的方法。

硬件,其理论基础,是很晦涩难懂的。

异或运算,一般也不需要初学者掌握。

但是,一些爱得瑟的老师,偏爱介绍这种方法。

却又拿不出任何的理论!

其实,这是很无聊的表现,其实,他们就是想要难为学生。

好了,以上就是本文小编给大家分享的关于“什么是补码”的内容,更多内容可以关注本站!
点击查看全部内容