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

移位运算(计算机组成原理15)三种移位运算的方法:算数移位+逻辑移位+循环移位

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

移位运算

视频链接地址:
https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502

前言

在本篇中,你将掌握

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

在这里插入图片描述
对于定点数其表示有两种:无符号数和有符号数,其中有符号数又有原码、反码、补码、移码四种,本篇将学习四种码的运算。

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

1 移位运算

在这里插入图片描述

1.1 算数移位

算数移位,理解好位权和负数特殊的移位补位就可以掌握

1.1.1 原码的算数移位

在这里插入图片描述
对于原码的算数移位:
  符号位不变,数值位右移,如上图。高位补0,低位舍弃,若舍弃的位=0,则相当于 ÷ 2;若舍弃的位=1,则会丢失精度,如 2 − 1 2^{-1} 21
  符号位不变,数值位左移,同理。低位补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.net/158682.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 动态规划应用–最长递增子序列 LeetCode 300[通俗易懂]

    动态规划应用–最长递增子序列 LeetCode 300[通俗易懂]文章目录1.问题描述2.解题思路2.1回溯法求解2.2动态规划1.问题描述有一个数字序列包含n个不同的数字,如何求出这个序列中的最长递增子序列长度?比如2,9,3,6,5,1,7这样一组数字序列,它的最长递增子序列就是2,3,5,7,所以最长递增子序列的长度是4。2.解题思路2.1回溯法求解/***@description:最长递增子序列*@author:m…

    2022年5月5日
    30
  • Pytest(11)allure报告「建议收藏」

    Pytest(11)allure报告「建议收藏」前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月31日
    4
  • 什么是语义分割_多模态语义理解

    什么是语义分割_多模态语义理解原文地址:SegNet复现详解:http://mi.eng.cam.ac.uk/projects/segnet/tutorial.html 实现代码:    github                       TensorFlow简介:        SegNet是Cambridge提出旨在解决自动驾驶或者智能机器人的图像语义分割深度网络,开放源码,基于caffe框架。SegNet基于FCN…

    2022年8月21日
    3
  • 无人机超远距离WiFi传输,CV5200无线通信模组,无线音视频传输方案「建议收藏」

    无人机超远距离WiFi传输,CV5200无线通信模组,无线音视频传输方案「建议收藏」在绝大多数任务场合都需要在远离现场的情况下,实时、可靠的观察或获取现场图像及视频,而此时无人机图传系统就会显现出它的重要作用。什么是无人机图传呢?将现场无人机所搭载的摄像机拍摄到的视频以无线方式实时传送到远距离后方的一种无线电子传输产品。因此无人机图传也被称为无人机的“眼睛”。智能cv5200双向无线通信系统,基于802.11无线通信标准,采用自身开发的LR-WiFi(远距离WiFi)私有协议,具备ML,MRC,LDPC,MIMO-OFDM等高级无线技术。具有传输距离远、可组网、抗干扰性强、

    2022年10月3日
    1
  • C#常用操作类库二(ini配置文件读写)

    C#常用操作类库二(ini配置文件读写)

    2021年8月17日
    64
  • FM Bandwidth IQ Rate Sample Rate

    FM Bandwidth IQ Rate Sample Rate在labview中,编写FM的程序经常会涉及到以下几个名词,他们的关系是怎样的呢?BandwidthdeviationfrequencymodulatingfrequencyIQRateSampleRate首先关于带宽Bandwidth他是由以下公式决定的。请参考Carson’sRule。FMBandwidth=2(Δf + fm)

    2022年10月17日
    0

发表回复

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

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