算数左移、逻辑右移、算数右移、逻辑右移

2023-05-16

算术左移和逻辑左移一样都是右边补0

○ 算术左移(适用于有符号数)

		§ 高位移出,低位补0(要注意数据位最高位为1时极有可能溢出)
		§ 比如 0010 1011B  算术左移一位:01010110B
		§ 比如 1000 1011B  算术左移一位:1001 0110B(×)
		§ 1000 1011B算术左移1位得到 0001 0110B这种移动的方式虽然正确,但是结果却是错误的,因为溢出了。一个负数×2后变成了正数,所以溢出。
		§ 总结起来就是,算术左移,因为带有符号位,如果想要移位之后不溢出不出差错,就必须保证左移n位之后,符号位不改变。
		§ 如:0001 1100B→(左移1位)0011 1000B;0001 1100B→(左移2位)0111 0000B

○ 逻辑左移(适用于无符号数)

		§ 二进制数整体左移一位(右边补零)

对于二进制的数值来说左移n位等于原来的数值乘以2的n次方
这种倍数关系只适用于左移后被舍弃的高位不含1的情况,否则会溢出

算术右移和逻辑右移

○ 算术右移

		§ 符号位要一起移动,并且在左边补上符号位,也就是如果符号位是1就补1,符号位是0就补0 
		§ 例如:11100算术右移一位为11110(符号位1跟着一起移动并且左边补了1) 

○ 逻辑右移

		§ 逻辑右移很简单,只要将二进制数整体右移,左边补0即可

对于二进制的数值来说右移n位等于原来的数值除以2的n次方

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算数左移、逻辑右移、算数右移、逻辑右移 的相关文章

  • 初识Godot(1)--初步使用Godot创建结点并使用脚本

    偶然间发现Godot这样一个强大的开源游戏引擎 xff0c 它十分友好的中文学习文档 xff0c 让我立刻抛弃了unity xff0c 虽然unity也没有学习多久 x1f602 今天简单的使用了一下Godot xff0c 了解了它的场景和
  • SOLIDWORKS 二次开发 VC++

    需要理解的知识 com组件原理及应用 1 IUnknown IDiapatch 2 接口的指针指向接口这个结构 xff0c 接口里面保存一个虚函数表指针 xff0c 指向接口里的函数 3 接口的使用 43 通过queryInterface
  • 关于C++父子类转换问题

    原则 xff1a 父类指针和引用可以指向子类对象 xff0c 而子类对象指针不能直接指向父类 xff0c 但是可以通过强制转换来把父类指针转换为子类指针 子类转父类后能访问的函数是父类非虚函数和子类虚函数 xff0c 父类转子类后能访问到的
  • Windows下安装wsl

    手动下载ubuntu并安装到其他盘 1 从下面这个网址下载压缩包 链接 link 2 解压压缩包 3 打开解压后的文件夹里面的ubuntu exe 如果提示系统找不到指定的路径可以 打开cmd依次输入 便可打开ubuntu exe进行安装
  • Git常见问题

    1 关于本地库和远程库main和master的问题 刚开始使用github和git时 xff0c 你可能会按以下 xff08 错误 xff09 步骤操作 xff1a 创建一个仓库 xff0c 命名 xff0c 描述 xff0c 然后添加RE
  • visual studio 编译项目生成不了pdb文件,无法调试

    解决方法 xff1a 保证项目属性设置了导出调试信息情况下 xff0c 检查此目录下的这个文件是否有改动 还原即可
  • C++ 继承中的内存布局

    今天在网上看到了一篇写得非常好的文章 xff0c 是有关c 43 43 类继承内存布局的 看了之后获益良多 xff0c 现在转在我自己的博客里面 xff0c 作为以后复习之用 谈VC 43 43 对象模型 xff08 美 xff09 简 格
  • iOS录音、播放、WAV以及caf转成MP3上传后台

    录音 播放 转码 录音播放转成MP3base64转码caf转码MP3调用分享心得 xff1a 录音 span class token macro property span class token directive hash span s
  • 关于各类软件常见问题解决方法

    MySQL安装之后会在每天都启动检查更新 xff0c 比如我的是每天的16 00 xff0c 此时它会弹出命令行窗口 解决方案 xff1a 右键计算机 gt 管理 gt 任务计划程序 gt 左侧找到MYSQL文件夹 gt 点击会有一个ins
  • LINUX设置定时执行脚本

    编写shell脚本 例子 xff1a 设置文件权限755 chmod 755 文件名 root创建文件夹为755 xff0c 创建文件为644 设置定时 cd var spool cron crontab l 查看当前定时任务 新增任务保存
  • Python 求问:怎么将多层级嵌套的Json格式的数据文件,自动解析后存入SQL Server的两个表中

    现有一个Data json文件 xff0c 文件中的数据格式如下 xff1a 34 ID 34 70002 34 NAME 34 34 机器学习 34 34 TYPE 34 7 34 ISM 34 false 34 PARAS 34 34
  • ESP07的启动与下载

    目前大多数人都使用ESP12F来进行ESP8266系列的学习 xff0c 但是ESP07模块大小上更小一些 xff0c 可以有效降低开发板的大小 xff08 一 xff09 ESP07的启动 启动基本上和ESP12F相近 其连接图如下所示
  • openwrt无法读U盘和codepage cp437 not found的问题

    在使用openwrt15 05时 xff0c 发现U盘没有出现在 dev sda1 再开启之后还是报codepage cp437 not found的问题 1 修改文件代码 以mt7620a为例 xff0c 修改target linux r
  • Ubuntu 无法联网 解决办法

    ubuntu经常锁屏后连不上网 xff0c 右上角联网图标也会消失 解决办法 xff1a 1 打开终端 xff0c 依次输入命令 sudo service network manager stop sudo gedit var lib Ne
  • 使用you-get下载不同分辨率的视频

    分辨率太高 xff0c 文件太大下载速度太慢 分辨率太低 xff0c 效果太差 怎么办 xff1f 自己决定呗 xff01 方法 you get i URL 出来的提示会告诉你如何下载不同比例不同格式文件拉 61 61 61 61 61 6
  • Rust std library not found(标准库找不到)

    Rust std library not found 标准库找不到 问题描述 xff1a 解决办法 xff1a 问题描述 xff1a 在clion开发环境下 xff0c 找不到标准库资源等于没有代码提示 xff0c 表现就是下面找不到路径
  • linux-新建文件分区作为swap交换空间

    1 sudo fallocate l 1G swapfile 普通创建 sudo dd if 61 dev zero of 61 swapfile bs 61 1024 count 61 1024000 dd创建 xff0c 建议用这种方式
  • adb获取ANDROID_ID、系统属性、查看机型、系统版本、系统api版本、分辨率、设备名称

    获取手机Settings Secure ANDROID ID xff1a adb shell settings get secure android id 系统属性 xff1a adb shell getprop grep product
  • NOIP2017普及组★棋盘

    题目 棋盘 chess cpp c pas 1S20 5 传统256MB 问题描述 有一个m m的棋盘 xff0c 棋盘上每一个格子可能是红色 黄色或没有任何颜色的 你现在 要从棋盘的最左上角走到棋盘的最右下角 任何一个时刻 xff0c 你
  • Ubuntu 20.04 Xrdp 远程桌面黑屏

    1 问题现象 xff1a 通过远程桌面输入账户和密码后 xff0c 进入ubuntu20 04后 xff0c 出现的是黑屏 2 解决办法 xff1a xff08 1 xff09 xff1a 打开startwm sh文件 sudo vim e

随机推荐