定点运算——位移运算

定点运算——位移运算位移运算前提:下述的移位运算推理过程是建立在合理的移位运算基础上的,即移位运算的结果和实际运算结果一致位移运算的数学意义位移运算,相当于小数点的移动,对数值进行扩大或者缩小进制数倍左移运算,小数点右移,扩大右移运算,小数点左移,缩小位移运算的规则位移运算仅仅改变数值部分,符号位不变==(下述是有意义的位移运算)==删除原则:右移,左添右省;左移,右添左省0,001101…

位移运算

前提:下述的移位运算推理过程是建立在合理的移位运算基础上的,即移位运算的结果和实际运算结果一致

位移运算的数学意义

位移运算,相当于小数点的移动,对数值进行扩大或者缩小进制数倍
左移运算,小数点右移,扩大
右移运算,小数点左移,缩小
在这里插入图片描述

位移运算的规则

  1. 位移运算仅仅改变数值部分,符号位不变==(下述是有意义的位移运算)==
  2. 删除原则:右移,左添右省;左移,右添左省

在这里插入图片描述

  1. 0,0011010 作为正数,在可进行移位运算的前提下,最高位不为1,对于正数而言,1是有意义的数字,省去一,就省去了实际的数字。
    在这里插入图片描述
  2. 对于-26的补码而言,1,1100110,由原码取补码的原则是:符号位不变,数值部分全部取反,末位加一。所以左边有意义的是0,无意义的是1;右边有意义的是1,无意义的是0。 所以对于补码而言,右移,左边添1;左移,右边添0

在这里插入图片描述

  1. 对于-26的反码1,1100101而言,由原码变成反码,是除符号位全部取反。所以对于数值部分,0表示1,1表示0。左移右边添1,右移左边添1

在这里插入图片描述

算术移位的硬件实现

  1. 正数原码,符号不变始终未0
    在这里插入图片描述

    • 左移,右边添0,最高位省去
    • 右移,左边添0,该0可取自符号位的0,右边最低位省去
  2. 负数原码,符号不变始终未1
    在这里插入图片描述

  • 左移,右边添0,最高位省去
  • 右移,左边添0,最低位省去
  1. 负数补码,符号不变始终未1
    在这里插入图片描述
  • 左移,右边添0,最高位省去
  • 右移,左边添1,该1可取自符号位的1,右边最低位省去
  1. 负数反码,符号不变始终未1
    在这里插入图片描述
  • 左移,右边添1,最高位省去
  • 右移,左边添1,该0可取自符号位的1,右边最低位省去
  1. 总结:根据上图可得,同样情况下丢1的意义不一样
    在这里插入图片描述

算术移位和逻辑移位的区别

  1. 算术移位:计算机中的存储方式,最高位为符号位,除符号位仅仅移动数值位
  2. 逻辑移位:不存在符号位,所有的数都是数值部分,全部参与移位运算在这里插入图片描述

今天的文章定点运算——位移运算分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/5323.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注