从Groovy 1.0 beta 10开始,groovy支持了位操作.<<. >>, >>>, |, &, ^, ~.
<< 左移操作符
>> 右移操作符
>>> 无符号右移操作符
| 或运算符
& 与运算符
^ 异或运算符
~ 取反运算符
<<= 左移操作并赋值
>>= 右移操作并赋值
>>>= 无符号右移操作并赋值
|= 或运算并赋值
&= 与运算并赋值
^= 异或运算并赋值
例如:
assert
(
1
<<
2
)
==
4
//
左移2位,相当于*4
assert ( 4 >> 1 ) == 2 // 右移1位,相当于/2
assert ( 15 >>> 1 ) == 7 // 无符号右移1位,左端补0
assert ( 3 | 6 ) == 7 // 或运算
assert ( 3 & 6 ) == 2 // 与运算
assert ( 3 ^ 6 ) == 5 // 异或运算
assert ( ~ 0xFFFFFFFE ) == 1 // 取反
assert ( 4 >> 1 ) == 2 // 右移1位,相当于/2
assert ( 15 >>> 1 ) == 7 // 无符号右移1位,左端补0
assert ( 3 | 6 ) == 7 // 或运算
assert ( 3 & 6 ) == 2 // 与运算
assert ( 3 ^ 6 ) == 5 // 异或运算
assert ( ~ 0xFFFFFFFE ) == 1 // 取反