有一串代码如下

int a=1;
printf("%d\n",a<<1);

其中的a<<1代表的便是a向左移动一个位
由于int是4字节存储,所以其实1的二进制是

00000000 00000000 00000000 00000001

而此时执行命令向左移一位,便成为

0000000 00000000 00000000 000000010

即删去高位的一位,随后在末尾添0,即为

00000000 00000000 00000000 00000010

也就是2

假如再向左移动一位,则变成

00000000 00000000 00000000 00000100

即为4

那么如果3向左移一位呢

int b=3;
printf("%d\n",b<<1);

3的二进制是

00000000 00000000 00000000 00000011

此时向左移动一位,得到

0000000 00000000 00000000 000000110

也就是6

再看右移,道理与左移相同,c>>1代表c向右移动一位

int c=2;
printf("%d\n",c>>1);

2的二进制为

00000000 00000000 00000000 00000010

向右移动一位

00000000 00000000 00000000 00000001

变成了1

c语言左(<<)右(>>)移相关推荐

  1. c语言左值中有运算符,C语言左值,运算符的优先级以及结合性探讨

    刚刚开始看一本书.<C陷阱与缺陷>,相信学习C语言的大家都对这本书有耳闻.今天看到了里面的贪心法则.也即在读到一个字符后,尽可能多的读入更多的字符,直到读入的字符组成的字符串已经不可能再组 ...

  2. 【每天学一点系列~】字符串左/右旋的本质,你真的认清了嘛?

    学透字符串的旋转 Part I.前言 Part II.左/右旋 1.定义 2.共同特点 Part III.初阶解法 解法一:创建新数组 解法二:原地算法(直接法) Part IV.进阶解法 1. 三步 ...

  3. C++ 语言左值引用 (lvalue reference)

    C++ 语言左值引用 (lvalue reference) C++11 中新增了右值引用 (rvalue reference).当我们使用术语引用 (reference) 时,指的其实是左值引用 (l ...

  4. R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图、使用subset函数、使用drop_na函数

    R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图.使用subset函数.使用drop_na函数 目录

  5. R语言ggplot2可视化移除多余的图例信息实战

    R语言ggplot2可视化移除多余的图例信息实战 目录 R语言ggplot2可视化移除多余的图例信息实战 #仿真数据

  6. R语言ggplot2可视化移除轴标签、图例、主体等所有附属信息实战

    R语言ggplot2可视化移除轴标签.图例.主体等所有附属信息实战 目录 R语言ggplot2可视化移除轴标签.图例.主体等所有附属信息实战

  7. R语言ggplot2可视化移除图例中的a字符实战

    R语言ggplot2可视化移除图例中的a字符实战 目录 R语言ggplot2可视化移除图例中的a字符实战

  8. R语言dplyr包移除dataframe数据列实战(Remove Columns)

    R语言dplyr包移除dataframe数据列实战(Remove Columns) 目录 R语言dplyr包移除dataframe数据列实战(Remove Columns) #导入包和仿真数据

  9. R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行、按照索引移除数据行、删除包含NA值的所有数据行、删除具体列包含NA值的数据行

    R语言dplyr包移除dataframe数据行实战(Remove Rows):按照条件移除数据行.按照索引移除数据行.删除包含NA值的所有数据行.删除具体列包含NA值的数据行 目录

  10. HDLBITS笔记29:移位寄存器(包括4位移位寄存器,创建100位左/右旋转器,算术偏移,线性反馈移位寄存器等)

    题目1:4位移位寄存器(4-bit shift register) 构建一个具有异步复位.同步加载和使能功能的 4 位移位寄存器(右移位). reset:将移位寄存器重置为零. load: 加载数据[ ...

最新文章

  1. 安卓手机文件管理器:360°LES文件浏览器
  2. dtoj#4178. 配对(pair)
  3. c++重载自增与自减运算符(前置与后置)
  4. Application Architecture Guide 2.0 (Chapter 7: Quality Attributes) Part 3
  5. [整理+原创]ubuntu Thunderbird Mail设置自动提醒
  6. Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to t
  7. activiti动态办理人_安全生产许可证办理相关问题
  8. ci mysql 转义,CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
  9. Java植物名录程序_程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。...
  10. wampserver 安装phpredis扩展
  11. POJ 3616 Milking Time (字符串DP)
  12. html字体加粗怎么设置,css怎么设置字体加粗?
  13. 时间管理表 - 《月总结计划表》
  14. 如何给计算机c盘加内存,电脑C盘内存太小_这个方法教你扩大C盘空间 - 驱动管家...
  15. 含泪整理最优质花朵 鲜花 花卉VRay材质球素材,你想要的这里都有
  16. 关于windows下的System32与SysWOW64两个文件夹
  17. C/C++项目:魂斗罗游戏
  18. 第五部分 linux 按键驱动代码分析
  19. DirectX11 交换链是什么
  20. 把一个人的特点写具体作文_把一个人的特点写具体作文800字

热门文章

  1. 向量距离汇总(连续值与离散值),Latex与Python实现
  2. pandas创建与保存(导入与导出)dataframe
  3. php实现ssh客户端,php无阻塞SSH客户端实例
  4. java tomcat 教程_从零开始学习 JavaWeb - 02Tomcat教程
  5. git 创建新分支并关联远程分支_git常用操作命令归纳
  6. 201904:Action recognition based on 2D skeletons extracted from RGB videos
  7. jquery 获取当前元素的索引值
  8. 黑马程序员_Java高新技术--代理
  9. 中文 WordPress 工具箱(1.2)与WP-Stats(2.2)冲突的解决办法
  10. c语言statistics函数,Logistic回归中C-Statistics计算方法