从Groovy 1.0 beta 10开始,Groovy就开始支持位移运算:
<<、>>、>>>、|、&、^和~。
| 运算符符号 | 含义 |
|---|---|
| << | 按位左移运算符 |
| >> | 按位右移运算符 |
| >>> | 按位无符号右移运算符 |
| | | 按位或运算符 |
| & | 按位与运算符 |
| ^ | 按位异或于运算符 |
| ~ | 按位取反运算符 |
| <<= | 按位左移赋值运算符 |
| >>= | 按位右移赋值运算符 |
| >>>= | 按位无符号右移赋值运算符 |
| |= | 按位或赋值运算符 |
| &= | 按位与赋值运算符 |
| ^= | 按位异或赋值运算符 |
示例如下:
assert (1 << 2) == 4 // 按位左移 assert (4 >> 1) == 2 // 按位右移 assert (15 >>> 1) == 7 // 按位无符号右移 assert (3 | 6) == 7 // 按位或 assert (3 & 6) == 2 // 按位与 assert (3 ^ 6) == 5 // 按位异或 assert (~0xFFFFFFFE) == 1 // 按位取反