前言:

定点数的原码除法运算有两种运算方式:

  1. 恢复余数法
  2. 不恢复余数法/加减交替法

方法:

1.恢复余数法

要点:

  1. 符号位单独计算
  2. 操作数的绝对值的原码以及绝对值的补码参与运算
  3. 运算的次数位参与运算的被除数的尾数的个数n次

结合习题:

x=0.11000,y=-0.11111,求x除以y

步骤1:

求出x绝对值的原码 ,y绝对值的补码 以及-|y|的补码。

注意是绝对值的补码,绝对值的补码!!!

步骤2:

进行除法运算:
要点:

1.我们知道除法运算的本质也就是减法运算,则在除法运算的第一次我们要执行x-y也就是x+( -[ |y| ]补)

2.根据余数的符号位,我们判断商0还是1

余数符号位为0 商1 执行左移1位后,+( -[ |y| ]补)

余数符号位为1 商0 执行+[ |y| ]补,恢复余数。接着左移1位后,执行+( -[ |y| ]补)

恢复余数

恢复余数
结果:

res

2.不恢复余数法/加减交替法

要点:

  1. 符号位单独计算
  2. 操作数的绝对值的原码以及绝对值的补码参与运算

结合习题:

x=0.11000,y=-0.11111,求x除以y

步骤1:

求出x绝对值的原码 ,y绝对值的补码 以及-|y|的补码。

注意是绝对值的补码,绝对值的补码!!!

步骤2:

进行除法运算:

要点:

1.我们知道除法运算的本质也就是减法运算,则在除法运算的第一次我们要执行x-y也就是x+( -[ |y| ]补)

2.根据余数的符号位,我们判断商0还是1

余数符号位为0 商1 执行左移1位后,+( -[ |y| ]补)

余数符号位为1 商0 左移1位后,执行+[ |y| ]补 ! !
,不恢复余数。

3.上商n+1次

不恢复余数
不恢复余数

希望能帮助到大家。画质有点糊。如果有需要可以私聊我。再私发一份。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐