欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

原码补码移码的作用(计算机组成原理14)

程序员文章站 2022-07-09 13:31:16
了解计算机中如何用加法来代替实现减法...

原码补码移码的作用

视频链接地址:
https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502

计算机组成原理 系列文章目录

前言

在本篇中,你将掌握

  • 了解计算机中如何用加法来代替实现减法

1 模运算

让我们先来回顾各种码:原码、反码、补码、移码
对于正数而言,
  原码 = 反码 = 补码 ,移码 = 补码符号位取反
对于负数而言,
  反码 = 原码数值位取反,补码 = 原码数值位取反加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}-1 281,而计算机只能保存8位,天然地就相当于mod 2 8 2^{8} 28,因此减法通过 加 (模 - 绝对值)的操作便可由加法替代了。

因此,补码——让减法操作转变为加法操作,节省硬件成本

2 小结

没图的一篇:),本篇重点:
(1)了解计算机中如何用加法来代替实现减法

本文地址:https://blog.csdn.net/qq_44574333/article/details/108991056