前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >移位运算(计算机组成原理15)

移位运算(计算机组成原理15)

作者头像
全栈程序员站长
发布2022-09-14 11:43:56
8730
发布2022-09-14 11:43:56
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

移位运算

代码语言:javascript
复制
视频链接地址:
https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502

计算机组成原理 系列文章目录

前言

在本篇中,你将掌握

  • 三种移位运算的方法:算数移位+逻辑移位+循环移位

在这里插入图片描述
在这里插入图片描述

对于定点数其表示有两种:无符号数和有符号数,其中有符号数又有原码、反码、补码、移码四种,本篇将学习四种码的运算。

在计算机中,使用移位便可实现 乘除法 = 移位 + 加法

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 算数移位小结

在这里插入图片描述
在这里插入图片描述
  1. 正数的原码 = 补码 = 反码,补位都用0补
  2. 负数的反码 = 原码数值位取反,补码 = 原码数值位取反+1   负数反码,补位补1   负数补码,左移补0,右移补1

1.2 逻辑移位

在这里插入图片描述
在这里插入图片描述

逻辑右移:高位补0,低位舍弃。 逻辑左移:低位补0,高位舍弃。

1.3 循环移位

在这里插入图片描述
在这里插入图片描述

循环移位,二进制数在移位过程中不丢弃,像是一个队列一样头变尾或尾变头,循环移位很适合把一个数据的高低字节调换(中文字节的大端存储:高字节+低字节,小端存储:低字节+高字节)

2 小结

在这里插入图片描述
在这里插入图片描述

本篇重点,算数移位的具体实现步骤(三种码的补位规则)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158682.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 移位运算
    • 计算机组成原理 系列文章目录
    • 前言
    • 1 移位运算
      • 1.1 算数移位
        • 1.1.1 原码的算数移位
        • 1.1.2 反码的算数移位
        • 1.1.3 补码的算数移位
        • 1.1.4 算数移位小结
      • 1.2 逻辑移位
        • 1.3 循环移位
        • 2 小结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档