这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 定点补码一位除法的实现方案

共1条 1/1 1 跳转至

定点补码一位除法的实现方案

高工
2014-06-12 10:32:39     打赏
定点补码一位除法的实现方案

  与补码乘法类似,也可以用补码直接完成除法运算,即用 [X]/[Y] 直接求得[X/Y] 。补码除法的规则比原码除法的规则复杂一些。当除数和被除数用补表示时,判别是否够除,就不再是简单地用被除数(余数)减去除数,而是要比较它们的绝对值的大小。因此,若二数同符号,要用减法,若异号,则要用加法,请注意,这样求出来的商是反码形式的。
我们不准备对此进行更多地讨论,可以给出其运算规则如下:
  (1) 开始时,求第一位商,如果被除数与除数同号, 用被除数减去除数,若二数异号,则用被除数加上除数的办法处理。
  (2) 运算过程中确定商的值,若余数与除数同号,上商1,左移一位后下次用余数减除数操作求商,若余数与除数异号,上商0,左移一位后下次用余数加除数操作求商。
  (3) 商的符号,是在第一次求商试算时求出的,若定点除不溢出,得到的就是正确的符号位的值。
  (4) 商的修正问题。在对精度要求不高时,将商的最低一位恒置1。最大误差为 | 2-n |。

  若对商的精度要求较高,可对n位数求商n+1次,按得到的不同结果对商进行修正。当商为负时,要在商的最低一位加1,从反码的结果得到商的正确的补码值。

  下面给出补码除法执行运算过程的一个实例。
  假定 [X] =1 0111 , [Y] = 0 1101, 则 [-Y] = 1 0011



  再求下去,可得下一位商并舍入;也可以不执行最后一步求商操作,而直接用在最低位上商1来结束除运算过程。

  除法运算也有快速除运算的各种方案,如一次求得1位或多位商的跳0跳1法,专用的高速除法装置,用快速乘法器完成快速除运算等。由于在程序中,除法指令的使用频度不高,因此一般机器中较少采用快速除法方案。



关键词: 补码    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]