`

位移运算(左移,右移)

 
阅读更多

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次方。

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

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

分享到:
评论

相关推荐

    vb 位左移、右移、置位、复位、位判断

    vb中对字节变量进行位操作的函数 包括左移、右移、置位、复位、位判断操作

    Windows关于整数二进制位移运算的MFC程序源代码

    这是一个关于测试C语言中整数移位运算的MFC应用程序,界面中标志表示左移或者右移,移位数输入要移的位数,还有输入整数,和输出结果,按钮是用来操作,很方便用来测试

    C#位移的介绍与例子

    其实很简单。。。 C#位移运算符: 左移:&lt;&lt; 右移:&gt;&gt; 位移理解可能简单一些:其实就是数据转换成二...下面用一个曾经回答一个网友的提问来理解一下位移的运算 题目:把89右位移一位: 代码如下:string flag = Co

    JAVA基础之java的移位运算

    所有的整数类型以二进制数字位的变化及其宽度来表示。例如,byte 型值42的二进制代码是00101010 ,其中每个位置在此代表2的次方,在最右边的位以20开始...注意右移后的值与0x0f进行按位与运算,这样可以舍弃任何的符号...

    Java byte 位移操作 注意事项

    & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算。这一事实可能导致多种问题:  假设我们想进行如下byte运算: 1111 1000 右移1位,再与0000 ...

    C语言之移位操作

    (左移),&gt;&gt;(右移)。本次我们进行移位操作的分析,看看在不同情况下移位操作的情形。  (1)变量为正数的情形  当变量为正数的时候,无论左移还是右移,移动溢出的位丢弃,剩下的位补的都是0。  1.当移位的...

    C语言运算符优先级整理收藏备用.docx

    C语言运算符优先级 在C语言中,运算符优先级定义了表达式中运算符的计算顺序。当一个表达式中有多个运算符时,高优先级的运算符会先被...7. **位移运算符 `和 `&gt;&gt;`**:进行位左移和位右移操作。 8. **关系运算符 `&lt;`

    程序员面试金典 – 面试题 08.05. 递归乘法(位运算)

    可以使用加号、减号、位移,但要吝啬一些。 示例1: 输入:A = 1, B = 10 输出:10 示例2: 输入:A = 3, B = 4 输出:12 提示: 保证乘法范围不会溢出 来源:力扣(LeetCode) 链接:...

    汇编语言程序设计.林邦杰.陈明

    11-10 算术左移及算术右移 11-11 循环位移 11-12 位移及循环位移指令总结 11-13 综合例题 课后习题 第12章 文件处理 12-1 输入及输出层次 12-2 输入及输出概念 12-3 标准的文件代号 12-4 建立一个文件代号 12-5 打开...

    c程序设计习题参考(谭浩强三版)习题参考解答

    请编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为’C’,’h’,’i’,’n’,’a’,经过运算,使c1,c2,c3,c4,c5的值分别变为’G’,’l’,’m’,’r’,’e’,并输出。 4 3.8例2.6能否改成...

    防抱死制动系统与驱动防滑控制

    常规制动:电磁阀无电流,柱塞左移,控制活塞在弹簧作用下左移顶开单向阀,常规制动油路接通。ABS不工作。 减压:电磁阀通入一大电流,柱塞右移,控制活塞在压力油作用下右移,单向阀关闭,常规制动油路切断。同时...

Global site tag (gtag.js) - Google Analytics