精华内容
下载资源
问答
  • 1.原码一位乘法(n次先加法再移位) 特点: 重复n轮加法、移位 符号位不参与运算,符号位用异或来决定 2.补码一位乘法(n次先加法再移位,多一次加法)

    dd

    1.原码一位乘法(n次先加法再移位)

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    特点:
    重复n轮加法、移位
    符号位不参与运算,符号位用异或来决定

    2.补码一位乘法(n次先加法再移位,多一次加法)

    在这里插入图片描述
    在这里插入图片描述

    3.原码除法(恢复除数法、上商0/1,得到余数,余数末尾补0 ,即逻辑左移)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.补码除法

    在这里插入图片描述

    展开全文
  • 在上一篇文章中,我们主要讲述了定点数的加、减、运算,唯独没有讲解除法运算。原因有两个,一来上一篇文章的内容确实比较多,二来除法运算比乘法相对复杂。所以,本文将从除法的来历讲起,然后讲除法运算的几种...

    本文讲什么?

    在上一篇文章中,我们主要讲述了定点数的加、减、乘运算,唯独没有讲解除法运算。原因有两个,一来上一篇文章的内容确实比较多,二来除法运算比乘法相对复杂。

    所以,本文将从除法的来历讲起,然后讲除法运算的几种方法。

    除法运算的形成

    我们来看这样一个例子:在8位寄存器中存储了00000111,4位寄存器中存储了0010,计算00000111/0010。

    回想一下,我们整数的除法是怎么做的?如上面的数改写成十进制,即7/2的结果是多少呢?

    我们肯定是先列出一个除法式子,像下面这样。

    我们首先是判断一下,当前被除数7中有几个除数,有几个则商就上几个,然后被除数减去除数乘商得到余数,接着判断余数中有几个除数,直到除不开为止。如果发现商是0,则被除数补0,除数向右移动一位,继续计算。

    在7中有3个2,结果是余1,1中不存在2,这就是最终的结果。

    接着看一下上面的例子:我们要做的,肯定是先列出一个式子。

    和整数除法一样,两个二进制数之间的除法同样的。步骤如下:

    要判断被除数中有几个除数有几个则商上几,有n个除数商就是n(二进制除法中,结果不是1就是0)被除数-n*除数 = 被除数’除数向右移动一位继续上述过程,得到最终结果

    大体上的过程就是这样的。根据上述的过程,我们能够很容易的设计出基本的除法器。此外,要注意的是,除法器应该具有判断除数或者被除数是否为0的功能,因为被除数为0时结果为0,没有意义;而除数为0时,结果为无穷大,无法表示。

    计算机定点数除法运算的几种方法

    在了解了除法器的基本情况后,我们就来讲除法运算的两种方法。分别是:恢复余数法、加减交替法。

    恢复余数法

    从名字中可以看出,这种方法对余数做了某种恢复。为什么会出现这种恢复呢?原因很简单,我们在分析一般除法的过程中可以看到,如果除数和被除数当前对齐的位上,被除数有0个除数,此时我们就需要将被除数补0。但是计算机并不知道被除数是否够除除数(因为不管除数和被除数的情况如何,最后的商上的位,不是0就是1),就需要先用被除数减去除数,如果发现余数是小于0的,那么计算机就知道了此时对齐的位无法得到最终的结果,则将被除数向又移动一位。这就是恢复余数法的核心思想。当然,我们在直接计算的时候,需要将两个数的绝对值相除,再得到最终的结果。

    接下来我们就来看,恢复余数法究竟是如何运算的。

    例子:x=-0.1011,y=-0.1101,求[x/y]原

    因为需要使用两个数的绝对值运算,所以我们先得到两个数的绝对值。

    [x]原=1.1011,[x*]=0.1011;[y]原=1.1101,[y*]=0.1101。

    还有,在运算时,因为涉及到两个数的减法,所以我们需要得到[-y*]补。

    [-y*]补=1.0011.计算过程如下表。

    初始化的时候,被除数放到被除数的位置,而商为0.先减去除数,如果余数为正,则商上1,否则上0,接着将被除数加上除数。无论哪种情况,都需要将被除数向左移动一位。这就是恢复余数法的过程。最终,别忘了使用异或操作得到符号位,才能得到最终结果。

    加减交替法

    加减交替法也称作不恢复余数法。为啥呢,因为在加减交替法中,先让被除数减除数,如果结果为正,则上1,;如果结果为负,则加上除数。接着将被除数向做移动一位。不过你要是细看的话,这两种方法其实并没有太大的区别,自己好好体会一下就行了。

    下面看个例子:

    例子:x=0.1011,y=0.1101,求[x/y]原。

    [x]原=1.1011,x*=0.1011;[y]原=0.1101,y*=0.1101,[-y*]补 = 1.0011。

    计算过程如下:

    结语

    本节是承接定点数的计算方法的,下一节,我们将开始计算机的运算方法后半部分的内容,即浮点数的计算过程,内容并不多,所以会放到一篇文章中。

    如果你喜欢我的文章,欢迎关注我的微信公众号:最高权限比特流。

    **参考:《计算机组成原理》唐朔飞**

    展开全文
  • 在上一篇文章中,我们主要讲述了定点数的加、减、运算,唯独没有讲解除法运算。原因有两个,一来上一篇文章的内容确实比较多,二来除法运算比乘法相对复杂。所以,本文将从除法的来历讲起,然后讲除法运算的几种...

    本文讲什么?

    在上一篇文章中,我们主要讲述了定点数的加、减、乘运算,唯独没有讲解除法运算。原因有两个,一来上一篇文章的内容确实比较多,二来除法运算比乘法相对复杂。
    所以,本文将从除法的来历讲起,然后讲除法运算的几种方法。

    除法运算的形成

    我们来看这样一个例子:在8位寄存器中存储了00000111,4位寄存器中存储了0010,计算00000111/0010。
    回想一下,我们整数的除法是怎么做的?如上面的数改写成十进制,即7/2的结果是多少呢?
    我们肯定是先列出一个除法式子,像下面这样。

    我们首先是判断一下,当前被除数7中有几个除数,有几个则商就上几个,然后被除数减去除数乘商得到余数,接着判断余数中有几个除数,直到除不开为止。如果发现商是0,则被除数补0,除数向右移动一位,继续计算。
    在7中有3个2,结果是余1,1中不存在2,这就是最终的结果。
    接着看一下上面的例子:我们要做的,肯定是先列出一个式子。

    和整数除法一样,两个二进制数之间的除法同样的。步骤如下:

    • 要判断被除数中有几个除数
    • 有几个则商上几,有n个除数商就是n(二进制除法中,结果不是1就是0)
    • 被除数-n*除数 = 被除数’
    • 除数向右移动一位
    • 继续上述过程,得到最终结果

    大体上的过程就是这样的。根据上述的过程,我们能够很容易的设计出基本的除法器。此外,要注意的是,除法器应该具有判断除数或者被除数是否为0的功能,因为被除数为0时结果为0,没有意义;而除数为0时,结果为无穷大,无法表示。

    计算机定点数除法运算的几种方法

    在了解了除法器的基本情况后,我们就来讲除法运算的两种方法。分别是:恢复余数法、加减交替法。

    恢复余数法

    从名字中可以看出,这种方法对余数做了某种恢复。为什么会出现这种恢复呢?原因很简单,我们在分析一般除法的过程中可以看到,如果除数和被除数当前对齐的位上,被除数有0个除数,此时我们就需要将被除数补0。但是计算机并不知道被除数是否够除除数(因为不管除数和被除数的情况如何,最后的商上的位,不是0就是1),就需要先用被除数减去除数,如果发现余数是小于0的,那么计算机就知道了此时对齐的位无法得到最终的结果,则将被除数向又移动一位。这就是恢复余数法的核心思想。当然,我们在直接计算的时候,需要将两个数的绝对值相除,再得到最终的结果。
    接下来我们就来看,恢复余数法究竟是如何运算的。

    • 例子:x=-0.1011,y=-0.1101,求[x/y]
      因为需要使用两个数的绝对值运算,所以我们先得到两个数的绝对值。
      [x]=1.1011,[x*]=0.1011;[y]=1.1101,[y*]=0.1101。
      还有,在运算时,因为涉及到两个数的减法,所以我们需要得到[-y*]
      [-y*]=1.0011.计算过程如下表。


      初始化的时候,被除数放到被除数的位置,而商为0.先减去除数,如果余数为正,则商上1,否则上0,接着将被除数加上除数。无论哪种情况,都需要将被除数向左移动一位。这就是恢复余数法的过程。最终,别忘了使用异或操作得到符号位,才能得到最终结果。

    加减交替法

    加减交替法也称作不恢复余数法。为啥呢,因为在加减交替法中,先让被除数减除数,如果结果为正,则上1,;如果结果为负,则加上除数。接着将被除数向做移动一位。不过你要是细看的话,这两种方法其实并没有太大的区别,自己好好体会一下就行了。
    下面看个例子:

    • 例子:x=0.1011,y=0.1101,求[x/y]
      [x]=1.1011,x*=0.1011;[y]=0.1101,y*=0.1101,[-y*] = 1.0011。
      计算过程如下:

    结语

    本节是承接定点数的计算方法的,下一节,我们将开始计算机的运算方法后半部分的内容,即浮点数的计算过程,内容并不多,所以会放到一篇文章中。
    如果你喜欢我的文章,欢迎关注我的微信公众号:最高权限比特流

    **参考:《计算机组成原理》唐朔飞**
    展开全文
  • 一、定点乘法运算及其实现: 1 原码乘法: ⑴ 原码一位乘法 乘积符号的运算法则是:“异或”(按位加)运算得到。 数值部分的运算方法与普通的十进制小数乘法类似。 下面通过一个具体例子从来说明: 原码一位乘法...

    一、定点乘法运算及其实现:
    1 原码乘法:
    ⑴ 原码一位乘法
    在这里插入图片描述
    乘积符号的运算法则是:“异或”(按位加)运算得到。 数值部分的运算方法与普通的十进制小数乘法类似。 下面通过一个具体例子从来说明:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    原码一位乘法的乘法器结构框图如图所示:
    在这里插入图片描述
    原码一位乘法的乘法器工作原理:
    (1)乘法开始时,“启动”信号使控制触发器Cx置“1”,于是开启时序脉冲T。
    (2)当乘数寄存器R1最末位为“1”时,部分积Zi和被乘数X在加法器中相加, 其结果输出至R0的输入端。
    (3)一旦打入控制脉冲T到来,控制信号LDR0使部分积右移一位,与此同时,R1也在控制信号LDR1作用下右移一位,且计数器i计数一次。
    (4)当计数器i=n时,计数器的溢出信号使触发器Cx置“0”,关闭时序脉冲T, 乘法宣告结束。

    原码两位乘法:
    基本原理类似:只是从最低位开始,每次取两位乘数与被乘数相乘,得到一次部分积,与上次部分积相加后右移2。

    2、补码乘法:
    补码一位乘法:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    补码乘法公式:
    [X · Y]补 = [X]补· [Y]补= [X]补·Y
    由补码乘法公式及补码与真值的关系得:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    实现补码一位乘法的乘法器的逻辑框图如图所示 :
    在这里插入图片描述
    补码两位乘法:是把补码的一位乘法的两个单步操作和并成一个操作。即:
    在这里插入图片描述

    二、定点除法运算及其实现
    1、原码除法运算:是指用原码表示两数相除,求出原码表示的商
    ⑴运算规则:设有n位定点小数(定点整数也同样适用):
       被除数x:[x]原=xf .xn-1…x1x0
       除数y: [y]原=yf .yn-1…y1y0
       则有商q其原码为:
    [q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)

    原码除法中据对可分为:恢复余数法和加减交替法
    原码恢复余数法:
    在这里插入图片描述
    对上述手算计算过程分析得:
    (1) 每次都是由心算来比较余数和除数的大小,余数大时,商1;
    余数小时,商0。第一次比较时,余数就是被除数。
    (2) 每做一次减法,总是保持余数不动,而除数向右移一位。
    (3)最后据符号位运算的结果给商以正确的符号

    为适应机器运算,需要进行改进:
    (1)用减法来比较余数和除数的大小
    (2)除数右移改为余数左移
    (3)定点除法运算必须要求被除数的高n位小于除数,否则溢出。
    在这里插入图片描述
    在这里插入图片描述
    用原码恢复余数法:求| X | / | Y |的解题步骤: y*= ︱Y︱
    先将被除数/余数减去除数得新余数Ri
    若Ri>0:商“1”,再将Ri左移一位后减除数(即 2Ri-y*),得新余数Ri′
    若Ri<0:商“0”,先将Ri+y*,即完成恢复余数的运算,再对Ri+y* 左移一位后减除数,即2(Ri+ y*)- y* ,得新的余数Ri′
    再将上述过程重复n(除数位数)次,共上n位商
    最后所得的商和余数即为| X | / | Y | 的商及余数
    在这里插入图片描述
    分析原码恢复余数法得知:
    ①当余数 Ri>0时,商“1”,再对Ri左移一位后减除数,即2Ri-y*
    ②当余数 Ri<0时,商“ 0”,先将Ri+y*,再2(Ri+y*)- y*,也即2Ri+y*。

    原码恢复余数法可归纳为:
    ①当余数Ri>0时,商“1”,做2Ri-y* 运算
    ②当余数 Ri<0时,商“ 0”,做2(Ri +y*) -y*运算

    原码不恢复余数法(加减交替法):
    用原码加减交替法:求| X | / | Y |的解题步骤:
    先将余数减去除数得新余数Ri
    若Ri>0:商“1”,做2Ri-y* 运算
    若Ri<0:商“0”, 做2Ri+y*运算
    再将上述过程重复n(除数位数)次,共上n位商
    最后所得的商和余数即为| X | / | Y | 的商及余数
    在这里插入图片描述

    原码加减法可归纳为:
    ①当余数Ri>0时,商“1”,做2Ri-y* 运算
    ②当余数 Ri<0时,商“ 0”,做2Ri +y*运算

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    2.补码除法运算:
    ⑴补码除法:指“符号位和数码位一起参加除法运算,参加运算的操作数是补码,求得的商数和余数也是补码。
    ⑵补码除法运算方法:采用加减交替法。
    ⑶补码除法加减交替法的操作过程:
    ① 若X,Y同号,做X-Y得余数R,商0为商的符号位,再做2R+Y得Ri
    若X,Y异号,做X+Y得余数R,商1为商的符号位,再做2R-Y得Ri
    ② 若余数Ri与Y同号,商1,后做2Ri-Y。
      若余数Ri与Y异号,商0,后做2Ri+Y。
    ③ 重复第②步n-1次
    ④ 第n次上商后,不再移位及+Y,-Y操作。
    ⑤ 若商为负数,则在商末尾加1
    若余数与被除数X异号,则要纠余:
    若X,Y同号,用+Y纠余,
    若X,Y异号,用-Y纠余,   
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    对补码加减交替法说明如下:
    (1)不能自动判溢出,因此在补码除法运算之前,必须先比较被除数高瑞n位与除数的绝对值,确认不会产生除法溢出后,才可开始除法运算。
    (2)符号位不需要单独运算,可自然得到商数和余数的正确符号。
    (3) 若最后一次余数与被除数异号,则需要纠余:X、Y同号,则+Y纠余,X、Y异号,则-Y纠余。

    3 .不恢复余数的阵列除法器:
    在这里插入图片描述

    展开全文
  • 浮点数的乘除法运算

    千次阅读 2020-12-23 21:29:47
    浮点数的乘除运算浮点数乘除法的运算规则浮点数乘除法运算步骤 我们学习了浮点数的加减法运算,乘除法运算的掌握当然也是比较容易的,下面是一些有关浮点数乘除法运算的相关知识点的总结。 浮点数乘除法的运算规则 ...
  • 在计算机中,乘法运算是一种很重要的运算,有的机器由硬件乘法器直接完成乘法运算,有的机器内没有乘法器,但可以按机器作乘法运算的方法,用软件编程实现。因此,学习乘法运算方法不仅有助于乘法器的设计,也有助于...
  • DSP中浮点转定点运算--定点数的加减乘除运算3.定点数的加减乘除运算简单的说,各种运算的原则就是先把待运算的数据放大一定的倍数,在运算的过程中使用的放大的数据,在最终需要输出结果的时候再调整回去。举个例来...
  • 当计算机没有()运算线路时,可以采用累加和右移相结合,实现()运算; 笔算乘法 原码乘法 原码一位乘运算 运算方法:符号位与数值位分开运算,符号位求异或,数值位相乘; 数值位相乘:在累加寄存器和...
  • 定点除法运算

    千次阅读 2019-11-05 19:53:33
    计算机中,除法运算和乘法运算一样,是非常常用的一...根据除法运算的规则:被除和除数之间,符号位相同则为正,符号位不同则为负。设被除和除数分别为X和Y,Xf和Yf分别代表X和Y的符号位,除法运算结果为Z,Zf代...
  • 2019考研408计算机组成原理知识:定点数的表示和运算2018-01-12 17:05|考研集训营2019考研计算机如何来复习呢?文都考研集训营建议参加2019考研计算机的考生可以开始看专业课最基础的知识点啦!今天,文都考研集训营小...
  • 作者:因情语写链接:...提高学习效率(二)定点数的表示与运算1、定点数的表示 无符号数的表示 带符号的整数表示2、定点数运算定点数的移位运算;原码定点数的加/减运算;补...
  • 二进制乘法运算: 一、定点数一位乘法: 注意:如果小数点后面有4位,则要进行右移4次,如果有6位,则要进行右移6次,依次类推。 在求部分积时,由于前一次部分积的最低位不再参与运算,因此可将其右移一位,相加数...
  • 我们按照常规的方法进行除法运算,计算机需要解决两个问题:①被除和除数的大小比较;② 每次计算余数位数不断扩大。因此,我们提出了原码恢复余数法、原码不恢复余数法、补码加减交替法。 二、原码恢复余数法 ...
  • 定点数和浮点数的运算

    千次阅读 2018-10-16 15:22:35
    文章目录1、补码加减法2、算法流程3、逻辑实现4、溢出判断5、移位操作6、舍入方法7、定点乘法运算8、定点除法运算9、浮点数相关计算 1、补码加减法 原码、反码、补码的转换: 1、先把数值转换成对应的二进制;...
  • id=1214577849&sm=1 MOOC《计算机组成原理》河南科技...手工除法: 每次判断被除是否大于除数,同时除数要2的-n次方进行相减。如果被除补零还是比除数大(详见上图部分余数R2),就上0,继续补零,进行下...
  • 1.定点数原码一位乘法: [X·Y]的原码 = [X]的原码 · [Y]的原码 = (符号位异或).(数值位两个数绝对值之积) 。 例题: 答案:X·Y = 0.10001111 解析:第一步:因为乘数的最后一位是1,所以部分积应该+X...
  • 二进制乘法运算: 一、定点数一位乘法: 注意:如果小数点后面有4位,则要进行右移4次,如果有6位,则要进行右移6次,依次类推。 在求部分积时,由于前一次部分积的最低位不再参与运算,因此可将其右移一位,相加数...
  • FPGA在常规运算时不能进行浮点运算,只能进行定点整型运算,在处理数据的小数加运算和除法运算时FPGA一般是无能为力的,其中一种常用的处理方法就是数据进行浮点到定点的转换。 浮点数转化为定点数一般有两种方法...
  • 本文讲什么?在计算机中,小数点并没有用专门的...定点数的位移、加、减、除运算是如何进行的?定点数是啥?从字面意思来理解,“定点数”就是“点”不动的数。那么究竟是什么“点”不动呢?没错,就是“小数点...
  • 一、计算机组成原理 1、定点数的加减运算 (1) 原码的加减运算 (2) 反码的加减运算 (3) 补码的加减运算 (4) 溢出的判别方法 2、定点数的乘法运算 (1) 定点原码一位乘法 ...3、定点数除法运算 ...
  • 在这里稍微说一下各个运算的原理: 加法: 写了三种加法,分别是严格格式(bin_plus_limit),右对齐(bin_plus_right),和左对齐(bin_plus_left)。只有严格格式有溢出检测。加法的原理都是最基础的进位。 减法: 即对...
  • 定点数除法2.1 恢复余数法2.2 加减交替法2.3 比较恢复余数法和加减交替法 方法要搭配例题一起看,才能看懂 1.定点数的乘法 定点数的乘法有原码一位、原码两位、阵列乘法器,这里只说原码一位。 1.1 原码一位...
  • 【计算机组成原理】定点数运算

    千次阅读 2017-12-13 21:26:36
    数值运算的核心是指加、减、四则算术。...1.补码加法由于计算机中定点数均以补码的方式表示和存储(个人观点,有待证明),采用补码表示进行加减运算比源码方便多了,因为不论是正还是负,机
  • 除法运算 浮点数运算 原码、反码 例1:已知[x]原=1.0011求x解:由定义得x=1[xJ原=1-1.0011=-0.00112.设x=+0.0000 [+0.0000]原=0.0000 [【-0.0000]原=1.0000 [+0]原=0,0000【-0]原=1,0000注意:[+0]原[-0...
  • 1、3.4.2、补码一位除法,1、 补码加减交替法 运算过程 比较 上商 求新余数 恢复余数 修正商,比较 当被除或余数与除数同号时,用减法去比较二者的大小,若得到的新余数与除数同号,表示“够减”...
  • 符号扩展在运算时我们发现题目基本会给机器字长8位这么一句话,但是打个比方3换为二进制是11只有两位,但是当它和6相加时就会出现问题,因为6是110,这个时候符号扩展就很有用了。对于正数来说符号扩展很简单,附加...
  • 浮点乘法运算设A=2AJ x Aw, B=2BJ X Bw A x B =2AJ+BJ x (Aw x Bw)浮点乘法--------->定点加,定点乘步骤:1.检测操作是否为0.2.阶码相加(若阶码用移码表示...浮点除法运算设A=2AJ x Aw, B=2BJ X Bw A÷ B =...
  • 定点数/浮点数的运算

    2020-10-22 16:28:53
    定点数运算 1.定点数补码的加法 1.定义: 两个补码表示的数相加,符号位参加运算,且两数和的补码等于两数补码之和。两个数不管正负,均用补码表示,符号位应当做数值参加运算,符号位相加所产生的进位要丢掉,结果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,867
精华内容 1,146
关键字:

定点数乘除法运算