定点运算——位移运算

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

位移运算

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

位移运算的数学意义

位移运算的规则

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

在这里插入图片描述

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

在这里插入图片描述

  1. 对于-26的反码1,而言,由原码变成反码,是除符号位全部取反。所以对于数值部分,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://javaforall.net/215969.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午12:52
下一篇 2026年3月18日 下午12:52


相关推荐

  • 给安卓手机里的Firefox安装AdGuard的https过滤证书

    给安卓手机里的Firefox安装AdGuard的https过滤证书如果你不知道 AdGuard 是用来干嘛的 请先看别的文章手机端的广告过滤我一直比较苦恼 Firefox 安装扩展 UBlock 的效果一般 比 PC 平台差远了 直到我发现了 AdGuard 而它还能做到 https 过滤 不过需要浏览器支持安装证书 我根据官网教程操作 一直不成功 FirefoxforAn 下载完证书会调用系统来安装 并没有达到我安装在浏览器里的目的 经过一番摸索 发现是浏览器版本的限制 高版本已经拒绝用户手动安装证书了 所以思路是先安装旧版本浏览器 安装完证书再

    2025年6月3日
    6
  • IDEA 全局搜索全局替换快捷键

    IDEA 全局搜索全局替换快捷键用惯 eclips 的可能 ctrl h 一个键就能搞定查找所有和替换全部 idea 的全局搜索和替换是分开看用的 此次记录为 windowidea 默认快捷键使用全局搜索 ctrl shift f 全局替换 ctrl shift r 文件内搜索 ctrl f 文件内替换 ctrl r 当然单独用 ctrl shift r 和 nbsp ctrl r 是完全可以替代 ctrl shift f nbsp

    2026年3月26日
    2
  • c++ stl容器_c++ std是什么

    c++ stl容器_c++ std是什么文章目录C++中常用的std标准容器顺序容器:有序关联容器:无序关联容器:顺序容器1. vector容器a. vector的定义与初始化b. vecotr常使用的操作c. 小结:2. string容器a. string的初始化b. string中包含的专有的操作(相对于vector来说)c字符串的转换函数d 对字符的操作(在cctype头文件中,并不属于string头文件的范围,但是关系很紧密的)…

    2022年8月18日
    11
  • MySQL字段存储的内容是不区分大小写的,你知道吗?

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!分享一下大神老师的人工智能教程。零基础!通俗易懂!风趣幽默(偶尔开开车,讲讲黄段子)!大家可以看看是否对自己有帮助,如果你对人工智能感兴趣,希望你也加入到我们人工智能的队伍中来,点击这里查看【人工智能教程】。接下来进入正文。文章目录00 简单回顾01 一个例子02 解决方案03 总结04 参考资料00 简单回…

    2022年2月28日
    44
  • freemarker把从后台传来的uct时间格式化展现到前台

    freemarker把从后台传来的uct时间格式化展现到前台freemarker把从后台传来的uct时间格式化展现到前台

    2022年4月23日
    52
  • linux iptable命令用法

    linux iptable命令用法iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。语法iptables(选项)(参数)选项-t<表>:指定要操纵的表;-A:向规则链中添加条目;-D:从规则链中删除条目;-i:向规则链中插入条目;-R:替换规则链中的条目;-L:显示规则链中已有的条目;-F:清楚规则链中已…

    2022年5月28日
    43

发表回复

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

关注全栈程序员社区公众号