美文网首页
位移运算符

位移运算符

作者: 懵智的大仁哥 | 来源:发表于2016-02-27 21:00 被阅读73次

1.<< 左移
2.>>> 无符号右移
3.>> 有符号右移

先说说移位,是对一串二进制数进行移位。
分为左移以及右移,右移又分为有符号右移以及无符号右移,那么他们的区别又是什么呢?

演示一下:

左移
00001111====>00011110====>00111100====>01111000

有符号右移
00001111====>00000111====>00000011====>00000001
11110000====>11111000====>11111100====>11111110

无符号右移
00001111====>00000111====>00000011====>00000001
11110000====>01111000====>00111100====>00011110


区别:

1.左移/右移:在于二进制数移动的方向不同.
2.有符号/无符号:因移动而空出的符号位,是否按原来的符号位数字来补.

计算:

1.左移n位,相当于乘以2^n,溢出时会为零
2.右移,相当于除以2^n,不过负数要注意符号问题


举个例子:

定义一个byte类型的变量,值为-7,它在计算机中的存储为1111 1001.
左移一位: 1111 0010 = -14
左移两位: 1110 0100 = -28
有符号右移一位: 1111 1100 = -4
无符号右移一位: 0111 1100 = 124

相关文章

  • 开发基础随笔之位运算符(Bitwise Operators)

    位运算符,属于算术运算符 按位逻辑运算符: 位移运算符: 位运算符的运算数只能是整数 位移运算符:按位左移 a<<...

  • java 三种运算符理解

    >> : 右移运算符;低位移出,符号位不变 << : 左移运算符;高位移出,符号位不变 >>> : 无符号右移; ...

  • java中的运算符

    内容 算数运算符 赋值运算符 比较运算符 逻辑运算符 位运算符 位移运算符 三元运算符java中的运算符,有以下几...

  • 位运算

    运算符含义&按位与|按位或^按位异或~取反<<左位移>>右位移 按位与运算符(&)按位与运算将两个运算分量的对应位...

  • 位移运算符

    1.<< 左移 2.>>> 无符号右移 3.>> 有符号右移 先说说移位,是对一串二进制数进行移位。 分为...

  • 位移运算符

    & 与 两个位都为1时,结果才为1 | 或 两个位都为0时,结果才为0 ^ 异或 两个位相同为0,相...

  • java位运算

    位运算符主要有3个:有符号右位移>>,有符号左位移<<,无符号右位移>>>,位运算的操作的对象是二进制的位,通过位...

  • 计算机基础知识点(二)、移位运算

    移位运算符:左移运算符<<、右移运算符>> 左移运算符<<按二进制形式把所有的数字向左移动对应的位数,高位移出(舍...

  • 运算符

    在C语言中的运算符和我们平时用的基本上都差不多。运算符包括赋值运算符、算术运算符、逻辑运算符、位逻辑运算符、位移运...

  • JS移位运算符(<<、>>和>>>)

    运算符名称描述<<零填充左位移通过从右推入零向左位移,并使最左边的位脱落。>>有符号右位移通过从左推入最左位的拷贝...

网友评论

      本文标题:位移运算符

      本文链接:https://www.haomeiwen.com/subject/vlbwkttx.html