1.补码的作用
补码解决了,可以带符号位进行运算,不需要单独标识;
补码解决了自然码正负0的表示方法;
补码实现了减法变加法,ALU中无须集成减法器,同样适用与乘法和除法,也就阐释了计算机底层只需要加法器的原因,所有运算到最后都是加法.
2.了解计算机中如何用加法来代替实现减法
先来回顾各种码:原码、反码、补码、移码
对于正数而言,
原码 = 反码 = 补码 ,移码 = 补码符号位取反
对于负数而言,
反码 = 原码数值位取反,补码 = 原码数值位取反加1,移码 = 补码符号位取反
在计算机中,使用原码运算:
加法——用加法器完成
减法——用减法器完成
这样不高效,能不能用加法来替代减法呢?当然可以
比如时钟中,将10点调成7点,可以通过顺时针(加法)10 + 9 = 19 % 12 = 7,也可以通过逆时针(减法)10 - 3 = 7来实现
接下来,让我们先来了解模运算,在此举几个例子:
对于时钟,模12运算:-15%12=9、-3%12 = 9、9%12 = 9 、21%12 = 9
同样,模运算通过余数将数值划分成多个等价类,同一类等效等价
所以我们就可以实现了用加法代替减法,如在模12运算中,a -3 = a + 9 ,且-3和9的绝对值之和 = 模 = 12 ,这两个数被称为互为补数
模 − a 的 绝 对 值 = a 的 补 数 模 - a的绝对值 = a的补数
模−a的绝对值=a的补数
这样 减法-a,就可以用加法+a的补数来代替了
而在计算机中,假定字长为8bit,也就是00000000~11111111的范围,0到2 8 − 1 2^{8}-12
8
−1,而计算机只能保存8位,天然地就相当于mod 2 8 2^{8}2
8
,因此减法通过 加 (模 - 绝对值)的操作便可由加法替代了。
因

本文介绍了补码和移码在计算机运算中的重要作用。补码使得带符号位的运算变得简单,通过加法实现减法,简化硬件设计。移码则方便了数值比较。此外,还阐述了如何利用模运算和补数概念,用加法替代减法,特别是在计算机的二进制环境中,减法操作转化为加法操作,有效节省了硬件成本。
最低0.47元/天 解锁文章
1109

被折叠的 条评论
为什么被折叠?



