移位运算(计算机组成原理15) 大家好,又见面了,我是你们的朋友全栈君。 移位运算 代码语言:javascript复制 计算机组成原理 系列文章目录移位运算前言1 移位运算 1.1 算数移位 1.1.1 原码的算数移位1.1.2 反码的算数移位1.1.3 补码的算数移位1.1.4 算数移位小结1.2 逻辑移位1.3 循环移位2 小结 前言 在本篇中,你将掌握三种移位运算的方法:算数移位+逻辑移位+循环移位
在这里插入图片描述 对于定点数其表示有两种:无符号数和有符号数,其中有符号数又有原码、反码、补码、移码四种,本篇将学习四种码的运算。 在计算机中,使用移位便可实现 乘除法 = 移位 + 加法 1 移位运算
在这里插入图片描述 1.1 算数移位 算数移位,理解好位权和负数特殊的移位补位就可以掌握1.1.1 原码的算数移位
在这里插入图片描述 对于原码的算数移位: 符号位不变,数值位右移,如上图。高位补0,低位舍弃,若舍弃的位=0,则相当于 ÷ 2;若舍弃的位=1,则会丢失精度,如 2 − 1 2^{-1} 2−1 符号位不变,数值位左移,同理。低位补0,高位舍弃,若舍弃的位=0,则相当于 × 2;若舍弃的位=1,则会出现严重误差(舍弃了最高位的1)1.1.2 反码的算数移位
在这里插入图片描述 反码的算数移位,如上图,注意: 正数的反码 = 原码,移位同原码 负数的反码 = 原码数值位取反,负数反码移位运算规则为 右移:高位补1,低位舍弃 左移:低位补1,高位舍弃1.1.3 补码的算数移位
在这里插入图片描述 正数的补码 = 原码,移位同原码 负数的补码 = 原码数值位取反+1,负数补码移位运算规则为 右移:同反码,高位补1,低位舍弃 左移:同原码,低位补0,高位舍弃1.1.4 算数移位小结
在这里插入图片描述正数的原码 = 补码 = 反码,补位都用0补负数的反码 = 原码数值位取反,补码 = 原码数值位取反+1 负数反码,补位补1 负数补码,左移补0,右移补1 1.2 逻辑移位
在这里插入图片描述 逻辑右移:高位补0,低位舍弃。 逻辑左移:低位补0,高位舍弃。 1.3 循环移位
在这里插入图片描述 循环移位,二进制数在移位过程中不丢弃,像是一个队列一样头变尾或尾变头,循环移位很适合把一个数据的高低字节调换(中文字节的大端存储:高字节+低字节,小端存储:低字节+高字节) 2 小结
在这里插入图片描述 本篇重点,算数移位的具体实现步骤(三种码的补位规则) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158682.html原文链接:https://javaforall.cn
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/19066.html