计算机组成原理-定点运算 + 微课版 第三章课后习题部分答案

一.基本知识点

1.定点加法

最需要掌握的就是利用变形补码的符号位进行溢出检测

变形补码就是用两个二进制位来表示数据的符号位负数 ---- 11, 正数 ----- 00.

然后对两个数据进行正常的加法运算,若运算结果是 “ 01 ” 或 “ 10 ”,则说明发生了 正上溢 或 负上溢。

其中,第一个 符号位就是真正的符号位,第二个符号位是数值部分溢出的。

相关例题是 计算机组成原理(微课版) 谭志虎 第三章课后习题:

(1)3.4

已知x和y,用变形补码计算x+y,并判断结果是否溢出。

(1) x=0.11010,y=0.10111。

(2) x=0.11101,y= - 0.10100。

(3) x= - 0.10111,y= - 0.11000。

 

2.定点减法

减法是通过将其转换成加法来做的。

例如:x - y = x + (-y)

相应的,[x - y] 补 = [x]补 + [-y]补

相关例题:

 (1)3.5 

已知x和y,用变形补码计算x - y,并判断结果是否溢出。

(1) x=0.11011,y=0.11101。

(2) x=0.10111,y =0.11110。

(3) x= - 0.11111, y= - 0.11001。

3.定点乘法

(1)原码一位乘法

1)数值位有 n  位,则计算过程有 n 次加法,n 次右移

     可以根据 右移 的次数来判断计算是否结束。

2)进行右移操作时,是逻辑移动,即所有数值都要参与移动,包括符号位

3)每次做加法时,是根据 乘数的最后一位数值来判断的,是 1 , 则加 | x |;是 0,则加 0.

4)最后一步要进行移位操作。

5)相关例题:3.6

用原码一位乘法计算x * y。

(1) x= - 0.11111, y= 0.11101。

(2) x= - 0.11010, y= - 0.01011。

(2)补码一位乘法

1)数值位 n 位,则有 n 次右移。根据右移次数来判断操作是否结束。

2)乘数最开始要在最后补一位 0.

3)每次加法操作时,要看 乘数的最后两位,最后一位 - 次位 = 1,则加 | x | 补; =0,则加0;等于 - 1,则加 | -x| 补。

4)最后一步不移位。

5)相关例题:3.7

用补码一位乘法计算x *  y。

(1) x= 0.10110, y= - 0.00011。

(2) x= - 0.011010,y= - 0.011101。

 

4.定点除法

(1)原码恢复余数除法

1)第一步要先做 +【-| y |】补,进行比较操作。

2)余数 R > 0,上尚1,余数和商同时左移一位, 做 -| y| 操作,即 +【| - y|】

      余数 R < 0, 上商0,余数和商同时左移一位,做 +| y| 操作,恢复余数。

3)数值位为 n,左移 n 次,以此来判断操作是否结束。

(2)原码不恢复余数除法

1)第一步要先做 +【-| y |】补,进行比较操作。

2)余数 R > 0, 上商 1,余数和商同时左移一位,做 +【| - y|】操作

      余数 R < 0, 上商0,余数和商同时左移一位,做 +【| y|】操作

3)余数 R = 0 时,归到 > 0 的范围内,还是要继续操作的。

4)最后得出来的余数有可能是负余数,这时要加上 y 值,使其恢复成正余数,这才是真正的余数。

5)数值位为 n,左移 n 次,以此来判断操作是否结束。

6)相关例题:3.8

用原码不恢复余数法计算x ÷ y。

(1) x=  0.10101, y= 0.11011。

(2) x= - 0.10101, y= 0.11011。

(2) x= - 0.10101, y= 0.11000。

 5.总结

(1)不管是定点数的加减运算还是乘除运算,进行数据移位时都是逻辑移位,即所有的数值位都要参与移动,包括符号位。

(2)四种运算都可以利用 数值位 n 位,则要进行 n 次移动  这个条件作为操作是否结束的标志。

(3)定点数的加减运算是进行 逻辑右移 ,乘除运算 是进行 逻辑左移。

 

  • 12
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值