按位左移(<<):

  按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零

按位右移(>>):

  按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1

简单举个例子【右移>>】:

int number = 500;

number = number >> 1;

十进制      二进制

(500)10  <===>(1 1 1 1 1 0 1 0 0)2

右移两位:

二进制       十进制

(1 1 1 1 1 0 1)2 <====>(125)10

低位舍弃2位

同理【左移动<<】

十进制      二进制

(500)10  <===>(1 1 1 1 1 0 1 0 0)2

左边移两位:

二进制       十进制

(1 1 1 1 1 0 1 0 0 0 0)2 <====>(2000)10

低位舍弃2位

注意需要考虑溢出的问题。此处不做深究。

C++ 浅析移位运算的更多相关文章

  1. C++ 移位运算与进制转换 浅析

    移位运算包括"逻辑移位"(logical shift)和"算术移位"(arithmetic shift). 逻辑移位:移出去的位丢弃,空缺位(vacant bi ...

  2. JAVA:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题(5)

    一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, ...

  3. Java学习第五篇:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题

    一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, ...

  4. << 移位运算

    /** * The maximum capacity, used if a higher value is implicitly specified * by either of the constr ...

  5. C#运算符之与,或,异或及移位运算

    C#运算符之与,或,异或及移位运算 1.剖析异或运算(^) 二元 ^ 运算符是为整型和 bool 类型预定义的.对于整型,^ 将计算操作数的按位“异或”.对于 bool 操作数,^ 将计算操作数的逻辑 ...

  6. 【原创】Java移位运算

    学习移位运算,首先得知道参与移位运算的类型的位数,那先来复习下Java基础类型的占位数吧. Java基础类型 Java基础类型总结一览表 类型 二进制位数 最大值 最小值 初始化值 表示形式 带符号 ...

  7. 从JavaScript的移位运算看数字在计算机内部的编码——补码

    偶然看到一个JavaScript的题目: js中13>>2=?      -13>>2=? 在浏览器中很容易测试出答案分别是 3 和 -4. 13>>2 = 3 很 ...

  8. Java中的位运算符、移位运算

    一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&)  :两位全为1,结果为1,否则为0: (2)按位或  (|)   :两位有一个为1,结果为1,否则为0: (3) ...

  9. C语言移位运算

    移位运算有两种:>>(右移),<<(左移). a>>b表示将a的二进制值右移b位. a<<b 表示将a的二进制值左移 b位.要求 a和 b都是整型, b ...

随机推荐

  1. 特朗普或出席!富士康耗资100亿美元建LCD液晶面板厂

    富士康建液晶工厂,富士康科技集团发言人证实,富士康科技集团将于今年6月28日耗资100亿美元的LCD面板厂举行动工仪式. 富士康周四表示,他已经了解到,仪式将于今年6月28日举行,包括美国总统特朗普总 ...

  2. openlayers学习笔记(十三)— 异步调用JSON数据画点、文字标注与连线

    使用Openlayers 3实现调用本地json数据在地图上添加点.文字标注以及连线. 生成底图地图 首先得有一个地图作为底图,代码如下: let vectorSource = new ol.sour ...

  3. NET Core SDK 已安装在VS2017不可见

    本地装了6个版本的net core sdk,但是在vs2017,vs2019 只是显示1.0和1.1: 重装,重启了好几遍也没用,没想到是环境变量PATH顺序问题,将x64的放在x86前,就OK了~:

  4. ckeditor实现WORD粘贴图片自动上传

    自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...

  5. HDU 6121 Build a tree —— 2017 Multi-University Training 7

    HazelFan wants to build a rooted tree. The tree has nn nodes labeled 0 to n−1, and the father of the ...

  6. C++ 使用STL string 实现的split,trim,replace-修订

    写个小工具函数 #include <iostream> #include <vector> using namespace std; namespace strtool { s ...

  7. Divideing Jewels

    Divideing Jewels 时间限制: 1 Sec  内存限制: 128 MB提交: 63  解决: 17[提交][状态] 题目描述 Mary and Rose own a collection ...

  8. BUUCTF | 高明的黑客

    这一题一开始我没有理解"www.tar.gz"的涵义,还以为有一个其他的网站叫这个,后来才突然顿悟他也有可能是一个目录!!!地址栏输入”/www.tar.gz“ 然后就可以得到源码 ...

  9. Hooking EndScene

    Hey guys, umm i was trying to hook endscene using detours and i used a method that i hooked many oth ...

  10. build temu error about SDL

    1. 安装sdl2 sudo apt-get install libsdl2-dev 2. 将configure文件中与SDL有关的地方改成SDL2 if test -z "$sdl&quo ...