1.左移,当左移的位数超过该数值类型的最大位数时,编译器会用左移的位数去模类型的最大位数,按余数进行位移。丢弃最高位,0补最低位。左移相当于乘,左移一位相当于乘2,左移两位相当于乘4,即左移位数乘于2的n次方。

如:

int i = 1,j=0x80000000;//设int为32位;

i=i<<33;//33%32=1 左移1位,i变成2

j=j<<33;//33%32=1 左移1位,j变成0,最高位被丢弃

2.右移,对于有符号整数,比如int类型 ,会保持符号位不变,符号位向右移动后,正数的补0,负数补1,即汇编语言中的算数右移,但是移动的位数超过类型长度时,会取余数,然后移动余数个位。右移相当于除,右移一位除以2,右移两位除以4,即右移位数除以2的n次方。

如:

int i = 0x80000000;

i = i>>1;//i的值不会变成0x40000000,而是oxc0000000

<<左位移运算:5<<1,将00000101左移一位,变成00000010,是10D。如:5<<4  == 5乘以2的4次方,值为80。

>>右位移运算:5>>1,将00000101右移一位,变成00001010,是2D。如:5>>4  ==  5除以2的4次方,值为0。

//0X表示十六进制,0表示八进制。

//二进制计算:2的0次方+2的1次方+2的2次方+···+2的N次方。

//与运算:两真为真,两假为假,真假为假。

//或运算:两真为真,两假为假,真假为真。

位移运算(左移,右移)相关推荐

  1. 二进制位运算---左移右移

    二进制位运算---左移(<<)右移(>>) (1).二进制中负数的计算 负数以正数的补码表示 原码:一个整数按照绝对值的大小转化成二进制的数 反码:将二进制数按位取反 补码:反 ...

  2. 位运算——左移右移运算详解

    代码#include "stdio.h"char leftshift(char i, int n) {if(n < 0)return -1;return i<<n ...

  3. 【算法】位运算——左移右移

    1.左移运算符(<<) 定义:将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0). 设 a=1010 1110,a = a<< 2 将a的二进制位左移2位 ...

  4. 计算机基础之位移运算

    1.前言 二进制整数最终都是以补码的形式呈现的.正数的最高位是0,负数的最高位是1.正数的原码,补码,反码都一样.负数的反码为原码取反,补码为反码加1.位移运算有两种,一种是带符号位移运算一种是不带符 ...

  5. Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位

    Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位 一.概述 1.在浏览一篇文章时,看到一个介绍 ,使用位移操作替代乘除法 ,若位移多位该怎么计算呢?  二.代码理解 ...

  6. 左移右移位运算_计算机硬件技术基础M2——计算机运算基础(二)

    在上一篇中,我们学习到了计算机底层的一些机器码,以及一些行业标准,这一章,我们将接着学习机器码的一些比较与相关计算. 一.浮点数表示和定点数的比较 ① 当字长相同时,浮点数表示的范围要大得多. ②浮点 ...

  7. 移位运算(左移和右移)

    如有转载,请注明出处:  http://www.cnblogs.com/flydoos/archive/2011/09/06/2169280.html 移位运算(左移和右移) 这是网上流传的" ...

  8. python左移右移位运算_Python这些位运算的妙用,绝对让你大开眼界

    位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...

  9. 位运算之左移右移运算之详解

    先看如下一段左移右移的代码及其结果: 代码 #include "stdio.h" char leftshift(char i, int n) { if(n < 0) retu ...

最新文章

  1. 自研GPU之火(续)
  2. 听说,当使用Reactjs的时候,Gulp和Browserify很配哦
  3. 秒杀系统的架构解决之道
  4. ARMv8/ARMv9指令集概述
  5. 信息学奥赛一本通C++语言——1043:整数大小比较
  6. 关于【cocos2dx-3.0beta-制作flappybird】教程在3.2project中出现找不到CCMenuItem.h的解决方法...
  7. c++interesting转换为uint_巴西插头标准,旅行转换插头是怎样的?
  8. 柠檬视频php源码,最新柠檬视频完整开源版源码分享,自适应WAP手机端,含APP源代码,详细的安装教程等等...
  9. html5新年拜年模板,关于春节拜年日记模板合集7篇
  10. 《自己动手写网络爬虫》笔记5-设计爬虫对列
  11. 物联网毕业设计 单片机智能温控风扇设计与实现
  12. 如何让那些模糊的照片变得高清?不会PS也能解决
  13. Inside Real-Time Linux
  14. A股的日内交易如何进行?
  15. 手游渠道SDK建议标准
  16. OCTF2016--piapiapia
  17. java大马后门_【猥琐流】制作一个隐藏在黑页下的大马并且添加后门
  18. 隔离式DC/DC高压模块5V12V24V转50V110V250V300V380V600V1100V短路保护直流升压可调开关控制电源模块
  19. 基于iSensor的MT9M001C12STM传感器调试总结
  20. pos机linux下的对应程序

热门文章

  1. ★为什么不要和“穷人”做朋友?
  2. win10下cuda版本升级
  3. iOS开发-进阶:被误解的MVC和被神化的MVVM(作者:唐巧)
  4. mysql y m d h i_php时间问题?mysql数据库的时间格式(Y-M-D H:I:S) 在PHP页面想这样显示(Y-M-D) (apos;.#36;rows[apos;ndate...
  5. photoshop 2022 for Mac(ps2022 mac)支持m1
  6. 中午不知道吃啥子?今天来写一个随机菜谱
  7. FCPX插件:Stupid Raisins Callout Pop Mac(视频字幕动画)
  8. P4850 [IOI2009]葡萄干raisins 记忆化搜索
  9. 201871010104-陈园园 《面向对象程序设计(java)》第二周学习总结
  10. Qt大屏电子看板系统源码