c++ 左移/右移运算符总结

逻辑移位和算数移位

  • 明确两种概念(逻辑移位和算数移位)
  • 逻辑移位和算数移位有区别,仅针对于有符号整数的左移/右移运算,对于无符号整数,没有这两者运算之间的差距

无符号整数

  • 采用逻辑移位,无论左移右移都用“0”填充

有符号整数

  • 逻辑移位即为有符号整数进行左移运算,高位舍掉,低位进行补“0”
  • 算数移位即为有符号整数进行右移运算,低位舍掉,高位补“符号位”

常数

  • 对于常数,只要左移超过31位,就是0

#include <bits/stdc++.h>
using namespace std;template<class T>
void printf_2(T& x) {cout << x << "的二进制:" << bitset<1 * 8>(x) << endl; // sizeof(x)
}int main() {unsigned short a = 0110;int b = 0110;int c = -0110;printf_2(a);a = a << 4; // 左移 逻辑移位printf_2(a);printf_2(b);printf_2(c);c = c >> 3; // 右移 算术移位// 算术移位,空出的部分用符号位填补// 逻辑移位 则用0填补printf_2(c);//cout << bitset<sizeof(b)>  << endl;
}

c++ 左移/右移运算符总结相关推荐

  1. 关于C/C++左移右移运算符的总结

    目录 一.概述 二.正文 (1)结合图示篇,更加简单明了. (2)文字描述篇,更深入. 一.概述 本文是根据整合网上资料与相关博文总结出来的关于[ C/C++左移右移运算符 ]的知识. 二.正文 (1 ...

  2. java 左移 返回值_java左移右移运算符详解

    在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号在Java中叫移位运算符,在写代码的过程中,虽然我们基本上不会去写这些符号,但需要明白这些 ...

  3. java中左移运算符解释_java左移右移运算符

    位运算(只对byte.short.char.int.long有效) 左移和右移运算相当于实现整数乘以或除以2的n次方 2.7三元运算符表达式1的结果为true时,就为第二个表达式,如果为...... ...

  4. 位运算符之---左移右移运算符(简单易懂)

    前言: 位运算符是用来对二进制位进行操作的 c语言中有6种位运算符: & 按位与 [链接]: https://blog.csdn.net/weixin_42837024/article/det ...

  5. c语言左移15位,关于c语言中左移右移运算符的问题

    参照<c与指针>,在c语言中左移时,不论算术左移还是逻辑左移效果都是相同的.而且对于有符号和无符号类型执行相同的操作,即按照二进制位向左左移N位.例如: 1 clude 2 intmain ...

  6. java 右移两位_java左移右移运算符

    http://blog.csdn.net/dandanteng/article/details/7433531 首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数 ...

  7. c语言左移右移运算符详解

    对于负数的右移:因为负数在内存中是以补码形式存在的,所以首先根据负数的原码求出负数的补码(符号位不变,其余位按照原码取反加1),然后保证符号位不变,其余位向右移动到X位,在移动的过程中,高位补1.等移 ...

  8. c语言负数左移右移_C语言 位运算符的运算规则

    位运算是指按照二进制进行的运算,在C语言中,提供了6种的位运算符,他们分别是按位与(&),按位或(|),按位异或(^),按位取反(-),左移(<)和右移(>).这些运算符只能用整型 ...

  9. C++ 重载左移和右移运算符

    C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool.int ...

最新文章

  1. Windows10+VS2017下GSL1.8_x86和sundials2.5.0配置及GITHUB项目schneider_et_al_2016_animaldiversity编译运行
  2. python实现采样函数_python中resample函数实现重采样和降采样代码
  3. 高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)
  4. bootstap-水果节案例-编辑中
  5. Android RecyclerView初体验
  6. 【SAP HANA】关于SAP HANA中带层次结构的Attribute View创建、激活状况下在系统中生成对象的研究...
  7. python 长度queue_Python基础知识梳理
  8. 常见问题4:文本不能选择 效果
  9. 开发 高质量 android应用 pdf,《打造高质量Android应用》读书笔记
  10. 简单高效实现导出excel数据表格
  11. Code For Better 谷歌开发者之声——Flutter - Google 开源的移动 UI 框架
  12. iOS逆向 和班尼特福迪一起攻克难关(unity)
  13. TCP/IP协议,卷一第42页错误
  14. 谁创造了硅谷?仙童半导体“叛逆八人”
  15. 【Golang】golang实现发送微信服务号模板消息
  16. php兄弟连学习30-60
  17. 照明控制那些事儿 之 可控硅调光
  18. win10网络有线连接频繁自动断开解决方法
  19. parser.cpp
  20. 最小互质数 (H题)

热门文章

  1. 用do-while语句实现,1/1+1/2+1/3+....1/n>vlaue
  2. 数据挖掘工程师的面试问题与答题思路
  3. 免费的源码真的靠谱吗?
  4. 工业机器人和协作机器人有什么区别?工业网关能用吗?
  5. Leetcode 788: Rotated Digits
  6. 计算机软件著作权的保护始于什么法律
  7. 工地安全帽佩戴检测yolov5
  8. 深圳.Net俱乐部2.26活动资源下载
  9. 思科ccna认证网络工程师SDH网络的基本原理
  10. OpenGL学习笔记(2)第一个程序——犹他茶壶(Teapot)