当前位置:   article > 正文

左移运算符和右移运算符

左移运算符

左移操作(<<)
规则:
右边空出的位用0填补
高位左移溢出则舍弃该高位。

例如:10 的二进制为 0000 1010 ,那么10左移3为就是 0101 0000,结果就是80.

10<<3 ==80

右移操作(>>)
规则:
左边空出的位用0或者1填补。正数用0填补,负数用1填补。注:不同的环境填补方式可能不同;
低位右移溢出则舍弃该位。

例如:20 的二进制为 0001 0100 ,那么10右移3为就是 0000 0010,结果就是2。

20>>3 ==2

常见应用
左移相当于2,只是要注意边界问题。如char a = 65; a<<1 按照2来算为130;但有符号char的取值范围-128~127,已经越界,多超出了3个数值,所以从-128算起的第三个数值-126才是a<<1的正确结果。
而右移相当于除以2,只是要注意移位比较多的时候结果会趋近去一个非常小的数,如上面结果中的-1,0。

一个是“&”数据按位与,两个“&&”是逻辑与,或也一样。

按位与运算(&)
1、与0相与可清零
2、与1相与可保留原值

按位或运算(|)
1、与0相或可保留原值
2、与1相与可齐设1

异或运算(^)
两个值相等则为0,否则为1。
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0

取反(~)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/75980
推荐阅读
相关标签
  

闽ICP备14008679号