加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

定点除法运算——原码除法

(2008-08-25 18:33:49)
标签:

余数

除法

除数

原码

r3

杂谈

分类: 组成原理

2.4.1 原码除法运算原理       file:///I:/Images/Home07.gif 

  两个原码表示的数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值

部分相除求得。

  设有n位定点小数(定点整数也同样适用):

  被除数,其原码为 []f .xn-1…x10

  除数,其原码为  []f .yn-1…y10

  则有商q=x/y,其原码为

[q]=(ff)+(0.n-1…x10/0.yn-1…y10)

  商的符号运算qfff与原码乘法一样,用模2求和得到。商的数值部分的运算,实质上

是两个正数求商的运算。根据我们所熟知的十进制除法运算方法,很容易得到二进制数的除法运

算方法,所不同的只是在二进制中,商的每一位不是“1”就是“0”,其运算法则更简单一些。

  下面仅讨论数值部分的运算。设被除数=0.1001,除数=0.1011,模仿十进制除法运算,

以手算方法求x÷y的过程如下:

               0.1 1 0 1   q
    0.1 0 1 1file:///I:/Chap02/Images/pie.gif  0.1 0 0 1 0      (r0) 被除数小于除数,商0
          -0.0 1 0 1 1      2-1y 除数右移1位,减除数,商1 
           0.0 0 1 1 1 0     r1   得余数r1
          -0.0 0 1 0 1 1     2-2y 除数右移1位,减除数,商1
           0.0 0 0 0 1 1 0    r2   得余数r2
          -0.0 0 0 1 0 1 1    2-3 除数右移1位,不减除数,商0
           0.0 0 0 0 1 1 0 0   r3   得余数r3
          -0.0 0 0 0 1 0 1 1   2-4y 除数右移1位,减除数,商1
          -0.0 0 0 0 0 0 0 1   r4   得余数r4

x÷y的商q=0.1101,余数为r=0.00000001。

上面的笔算过程可叙述如下:

1. 判断是否小于?现在<,故商的整数位商“0”,的低位补0,得余数r0

2. 比较r0和2-1,因r0>2-1,表示够减,小数点后第一位商“1”,作r0-2-1,得余数r1

3. 比较r1和2-2,因r1>2-2,表示够减,小数点后第二位商“1”,作r1-2-2,得余数r2

4. 比较r2和2-3,因r2<2-3,不够减,小数点后第三位商“0”,不作减法,得余数r3(=r2)。

5. 比较r3和2-4,因r3>2-4,表示够减,小数点后第四2位商“1”,作r3-2-4,得余数r4,共

  求四位商,至此除法完毕。

  在计算机中,小数点是固定的,不能简单地采用手算的办法。为便于机器操作,使“除数右

移”和“右移上商”的操作统一起来。

  事实上,机器的运算过程和人毕竟不同,人会心算,一看就知道够不够减。但机器却不会心算,

必须先作减法,若余数为正,才知道够减;若余数为负,才知道不够减。不够减时必须恢复原来的

余数,以便再继续往下运算。这种方法称为恢复余数法。要恢复原来的余数,只要当前的余数加

上除数即可。但由于要恢复余数,使除法进行过程的步数不固定,因此控制比较复杂。实际中常用

不恢复余数法,又称加减交替法。其特点是运算过程中如出现不够减,则不必恢复余数,根据余数

符号,可以继续往下运算,因此步数固定,控制简单。

  早期计算机中,为了简化结构,硬件除法器的设计采用串行的1位除法方案。即多次执行

“减法—移位”操作来实现,并使用计数器来控制移位次数。由于串行除法器速度太慢,目前已被

淘汰。

                      file:///I:/Images/Nextarro.gif

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有