原码除法运算原理是什么?
两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。
设有n位定点小数(定点整数也同样适用):
被除数x,其原码为 [x]原=xf.xn-1…x1x0
除数y,其原码为 [y]原=yf.yn-1…y1y0
则有商q=x/y,其原码为
[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)
商的符号运算qf=xf⊕yf与原码乘法一样,用模2求和得到。商的数值部分的运算,实质上是两个正数求商的运算。根据我们所熟知的十进制除法运算方法,很容易得到二进制数的除法运算方法,所不同的只是在二进制中,商的每一位不是“1”就是“0”,其运算法则更简单一些。
下面仅讨论数值部分的运算。设被除数x=0.1001,除数y=0.1011,模仿十进制除法运算,以手算方法求x÷y的过程如下:
上面的笔算过程可叙述如下:
1. 判断x是否小于y?现在x<y,故商的整数位商“0”,x的低位补0,得余数r0。
2. 比较r0和2-1y,因r0>2-1y,表示够减,小数点后第一位商“1”,作r0-2-1y,得余数r1。
3. 比较r1和2-2y,因r1>2-2y,表示够减,小数点后第二位商“1”,作r1-2-2y,得余数r2。
4. 比较r2和2-3y,因r2<2-3y,不够减,小数点后第三位商“0”,不作减法,得余数r3(=r2)。
5. 比较r3和2-4y,因r3>2-4y,表示够减,小数点后第四2位商“1”,作r3-2-4y,得余数r4,共求四位商,至此除法完毕。
在计算机中,小数点是固定的,不能简单地采用手算的办法。为便于机器操作,使“除数右移”和“右移上商”的操作统一起来。
事实上,机器的运算过程和人毕竟不同,人会心算,一看就知道够不够减。但机器却不会心算,必须先作减法,若余数为正,才知道够减;若余数为负,才知道不够减。不够减时必须恢复原来的余数,以便再继续往下运算。这种方法称为恢复余数法。要恢复原来的余数,只要当前的余数加上除数即可。但由于要恢复余数,使除法进行过程的步数不固定,因此控制比较复杂。实际中常用不恢复余数法,又称加减交替法。其特点是运算过程中如出现不够减,则不必恢复余数,根据余数符号,可以继续往下运算,因此步数固定,控制简单。
早期计算机中,为了简化结构,硬件除法器的设计采用串行的1位除法方案。即多次执行“减法—移位”操作来实现,并使用计数器来控制移位次数。由于串行除法器速度太慢,目前已被淘汰。
得x÷y的商q=0.1101,余数为r=0.00000001。
非常好我支持^.^
(152) 14.5%
不好我反对
(895) 85.5%
相关阅读:
- [物联网] 聊一聊计算机存储的细节-原码反码和补码 2023-07-08
- [可编程逻辑] FPGA中定点数的处理方法 2023-05-24
- [电子说] 如何实现FPGA中的除法运算 2022-04-27
- [PLC/PAC] 二进制除法运算指令 2021-04-04
- [模拟技术] 二进制的原码和反码与补码的详细资料讲解 2021-02-15
- [电子说] 深入探求反码和补码 2020-09-15
- [电子说] 计算机的原码和反码及补码到底是什么 2020-02-12
- [电子说] 用于除法运算的运行时ABI辅助方法过载 2018-07-19
( 发表人:admin )