定点乘除法

目录

一、定点乘法

1.串行乘法器

2.并行乘法器

二、定点除法

1.笔算除法

2.机器除法


一、定点乘法

1.串行乘法器

1.符号位单独处理,两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。

2.过程

(1) 由乘数的末位决定被乘数是否与原部分积相加,然后右移1位形成新的部分积,同时乘数右移1位(末位移丢),空出高位存放部分积的低位。

(2)被乘数只与部分积的高位相加。

注:乘法运算可用移位和加实现 ,如:n = 4,加 4 次,移 4 次。用移位的次数判断乘法是否结束。

例:A  =  – 0.1101 ,B  =  0.1011 ,A×B  =  – 0.10001111。计算过程如下:

3.硬件需要:

1个全加器;

3个寄存器(具有移位功能):1个存放被乘数、一个存放乘积高位、一个存放乘数及乘积的低位; 

2.并行乘法器

早期计算机中为了简化硬件结构,采用串行的1位乘法方案,即多次执行“加法—移位”操作来实现。然而串行方法毕竟太慢,自从大规模集成电路问世以来,出现了各种形式的流水式阵列乘法器,它们属于并行乘法器。

 在m位乘n位不带符号整数的阵列乘法中,“加法—移位”操作的形成被加数矩阵。每一个部分乘积项(位积)a_{j}b_{j}叫做一个被加数。 m×n个被加数a_{j}b_{j}可以用m×n个“与”门并行地产生。   

设计高速并行乘法器的基本问题,就在于缩短被加数矩阵中每列所包含的1的加法时间。

二、定点除法

1.笔算除法

例:x = – 0.1011,y = 0.1101    求 x÷y

 x÷y = – 0.1101,余数= 0.00000111

笔算过程:被除数小于除数(不够减),商0、大于除数(够减),商1。余数低位补0,减右移(逻辑右移)一位的除数。符号位单独计算。

2.机器除法

(1)原码除法算法原理

以小数为例(整数同理)

 商的符号位单独处理 x0\oplus y0; 数值部分为绝对值相除 \frac{x^{*}}{y^{*}}

:1.小数定点除法 x* < y*;整数定点除法 x* > y*。

       2.除数不能为 0;被除数不能等于0。

(2)恢复余数法:机器的运算过程和人毕竟不同,人会心算,一看就知道够不够减。但机器却不会心算,必须先作减法,若余数为正,才知道够减;若余数为负,才知道不够减。不够减时必须恢复原来的余数,以便再继续往下运算。要恢复原来的余数,只要当前的余数加上除数即可。但由于要恢复余数,使除法进行过程的步数不固定,因此控制比较复杂。

(3)加减交替法(常用):运算过程中如出现不够减,则不必恢复余数,根据余数符号,可以继续往下运算,因此步数固定,控制简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值