移位运算符包括:
“>> 右移”;“<< 左移”;“>>> 无符号右移”
例子:
-5>>3=-1
1111 1111 1111 1111 1111 1111 1111 1011
1111 1111 1111 1111 1111 1111 1111 1111
其结果与 Math.floor((double)-5/(2*2*2)) 完全相同。
-5<<3=-40
1111 1111 1111 1111 1111 1111 1111 1011
1111 1111 1111 1111 1111 1111 1101 1000
其结果与 -5*2*2*2 完全相同。
5>>3=0
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0000
其结果与 5/(2*2*2) 完全相同。
5<<3=40
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0010 1000
其结果与 5*2*2*2 完全相同。
其实就是这样的: >>就是除2的倍数 <<就是乘2的倍数
本文详细介绍了计算机科学中常用的移位运算符,包括左移(<<)、右移(>>)和无符号右移(>>>)。通过具体的数值示例,解释了这些运算符如何实现数值的快速乘除操作,并对比了不同运算符间的区别。
1206

被折叠的 条评论
为什么被折叠?



