移位运算(计算机组成原理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} 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.net/158682.html原文链接:https://javaforall.net

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

相关推荐

  • 网页500错误怎么解决_系统报500错误解决方法

    网页500错误怎么解决_系统报500错误解决方法1.问题描述2.问题解决3.HTTP请求代码1.问题描述1.使用http方式请求对方服务器,返回JSON格式数据2.由于是测试环境,网段不是同一个,对方服务器网段做了代理,我们能ping通,也能telnet3.使用浏览器访问能正常返回JSON格式数据4.用代码解析http请求一直报500错误,对方觉得是我们代码问题,但是我们用代码解析公网上的一些请求是正常的;而且…

    2022年8月12日
  • Linux改变图片大小的命令,Linux运维知识之linux下使用convert命令修改图片分辨率…

    Linux改变图片大小的命令,Linux运维知识之linux下使用convert命令修改图片分辨率…本文主要向大家介绍了Linux运维知识之linux下使用convert命令修改图片分辨率,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。Convert的resize子命令应该是在ImageMagick中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:此说明文件中所用的原始文件(src.jpg),宽度:200,高度:150命令格式:…

    2022年7月16日
  • Java集合面试题_java是什么

    Java集合面试题_java是什么Java中的浅拷贝与深拷贝很多时候,我们期望去拷贝某个对象的副本。在Java中如果使用=赋值操作,其实际上会让两个引用变量指向同一个对象;而如果重新new一个新对象,再对各字段进行赋值操作时,将十分繁琐。为此在Java的Object类中,提供了一个clone方法,其可拷贝对象副本clone方法与Cloneable接口Cloneable接口的源码如下publicinterfaceCloneable{}注释第一段一个类实现了Cloneable接口,以向Object.c

    2022年10月13日
  • ClassCastException深入分「建议收藏」

    ClassCastException深入分「建议收藏」ClassCastException深入分析

    2022年9月10日
  • html b5纸尺寸,b5纸的大小?「建议收藏」

    html b5纸尺寸,b5纸的大小?「建议收藏」B5纸的大小是18.2cm*25.7cm,也就是说B5纸是182*257毫米32开B5一般有两种尺寸,EXTRA也就是标准的就是20.1cmX27.6cm还有一种是18.2cmX25.7cmA4纸是多少开的?这要从纸张的制作说起,纸张的规格是指纸张制成后,经过修整切边,裁成一定的尺寸。过去是以多少开(例如8开或16开等)来表示纸张的大小。现在通常采用国际标准,规定以A0、A1、A2、B1、B2…

    2022年6月20日
  • wget命令详解,断点续传[通俗易懂]

    wget命令详解,断点续传[通俗易懂](1)支持断点下传功能(2)同时支持FTP和HTTP下载方式(3)支持代理服务器(4)设置方便简单(5)程序小,完全免费?wget虽然功能强大,但是使用起来还是比较简单的,基本的语法是:wget[参数列表]URL。下面就结合具体的例子来说明一下wget的用法。1、下载整个http或者ftp站点。wgethttp://place.your.url

    2022年6月3日

发表回复

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

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