没有合适的资源?快使用搜索试试~ 我知道了~
计算机组成原理之定点数的移位运算
资源推荐
资源详情
资源评论
小数点每后移1位,相当于我们对整个数值乘以了一个 10 的1次方,也就是奇数的1次方;而小数点
后移两位相当于乘以 10 的2次方。
小数点往前移也是类似的一个效果,只不过往前移相当于是除以 10 的1次方和除以 10 的2次方。
这是大家在小学的时候就学会的东西,如果结合我们之前对 r 进制数它的实际数值的定义来看,其
实我们移动了小数点之后,相当于改变了每一个数码位的位权。
因为每一个位的位权为多少,其实是以小数点的位置作为参考的。
所以所谓的算数移位的意思就是我们通过改变各个数码位和小数点的相对位置,从而改变各个数码
位的位权。
我们可以用这种算数移位的方式来等价地实现乘法和除法。
(2)二进制
1.算术右移
刚才是大家熟悉的十进制,对于我们之前的小节中学习的二进制数,其实也是一样的。
先来看 算术右移 。
对于定点数来说,我们没办法改变小数点的位置,但是山不转可以让水转,所以我们如果能够移动
数值部分,只要能改变每一个数值位和小数点的相对位置关系,我们同样可以实现算数移位的运算。
比如这儿我们已经有了-20 的原码表示。
进行了算数右移1位之后,得到的值应该是 2 的 1 次方,再加上 2 的 3 次方等于10。再考虑上符号位就
应该是-10。
所以和我们之前十进制推出的结论是类似的。
当我们对二进制的这种定点数右移1位之后,相当于我们实现了除以奇数的1次方这样的操作。
结合这个图并不难理解,本来以前这两个1(图中画圈的位置),它们的权重分别是 2 的 4 次方和 2
的2次方。右移一位之后,它们的权重都分别除以了2,一个变成了 2 的 3 次方,一个变成了 2 的1次
方,整体都是缩小了一半。
所以这就是算数右移的效果,相当于除以2。
我们再右移一位。
刚才最低位就会移动到小数点的后面位置。由于我们的机器字长有限,所以移出去的这一位我们就
只能舍弃不用。
同样的,新的高位我们会用 0 来补充。
这次右移的结果,同样也是相当于再除以一个2。
剩余14页未读,继续阅读
资源评论
雨翼轻尘
- 粉丝: 6w+
- 资源: 130
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功