计算机中的算术运算

Posted ITWEL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机中的算术运算相关的知识,希望对你有一定的参考价值。

计算机中的算术运算_加法器

根据冯诺依曼体系可以得到,计算机只能识别​二进制数,​所有​数据​在计算机中是通过二进制的方式进行存储的。

注意:​正数是以原码(补码)的形式存储的,负数是以补码的形式进行存储的


计算机中数据的常用表示格式有​定点格式​和​浮点格式

计算机中的算术运算_加法器_02

问题:​那它是如何进行基本运算(加、减、乘、除)的呢​?

(一)加(减)法

电路图

计算机中的算术运算_加法器_03

半加器指的是不考虑进位的加法器,右边为一位加法器,在二进制位进行运算时需要考虑进位。

计算机中的算术运算_加法器_04

补充说明:C1指的是来自上一位的进位(0或1),A、B为同一位的进行运算的二进制位

如下图:

计算机中的算术运算_加法器_05

上图为行波进位的补码加法/减法器(串行加法器)

缺点:按地位向高位的顺序执行,如果想要求某一位的计算结果,必须知道其前一位的进位

(二)乘(除)法

计算机中的算术运算_加法器_06

​I.定点原码乘法​

计算机中的算术运算_加法器_07

逻辑图

计算机中的算术运算_加法器_08

语言描述:

(假设两个数分别为​yn,ym​)初始的部分积为0,点击启动,看yn从后往前看,如果最后一位为1,就让部分积加上一个ym(​如果为0,就加上0​)然后让部分积和乘数Yn均右移,部分积右移后的那一位变为yn的最左位​,​部分积的最左位用原先的符号位来补​,yn的最右位变为原来的yn的倒数第二位,重复上述步骤。直至移动原yn的二进制位数次。

例题如下:

计算机中的算术运算_加法器_09

运算过程如下

计算机中的算术运算_加法器_10

定点补码乘法

规则:

计算机中的算术运算_加法器_11

逻辑电路图

计算机中的算术运算_加法器_12

注意:所补充的最后一位是0

练习题:

计算机中的算术运算_加法器_13

解题过程如下:

计算机中的算术运算_加法器_14

II.定点补码除法

我们可以使用加减交替法来实现

计算机中的算术运算_加法器_15

问题分析:

我们在进行除法运算的过程中,如果被除数大于除数,就上1,反之,就上0,最后末尾补零,但是对于计算机来说应该怎么运算呢,计算机先要进行判断,即(被除数-除数),如果结果大于0,商上位1,被除数补零;如果结果小于0,则需要再加上除数,变为原数,然后上位0,被除数补零

​恢复余数法

步骤如下:(1)作差(被除数-除数)

 (​2)两种情况

情况一:结果大于0,上位1,然后差后补零变为新的被除数,然后再与除                                                      数相减

情况二:结果小于0,上位0,然后差再加上除数,变为原来的数,然后上                                                      商0,然后再将被除数与除数相减

计算机中的算术运算_加法器_16

改进后,如果差值小于0,我们不需要再对差值加上除数变为原数

逻辑图如下:

计算机中的算术运算_加法器_17

可参考:​https://www.csdn.net/tags/MtTaMg4sMDQzODIxLWJsb2cO0O0O.html​

计算机中的算术运算_加法器_18

如果 y 和 0 进行异或运算,结果还是  (y) ;但如果是和 1 进行运算,结果会变为   (-y)

以上是关于计算机中的算术运算的主要内容,如果未能解决你的问题,请参考以下文章

java-运算符

JAVA算术运算符介绍

MySQL 运算符

计算机组成与设计—— 除法器

MySQL-运算符

计算机组成原理 王道考研2021 第二章:数据的表示和运算 -- 算术逻辑单元(ALU)电路基础知识加法器的实现