28-位运算符
4.7.3 位运算符
位运算主要针对二进制,在Java中,位运算主要包括移位、与、或、异或和非等操作符。在Kotlin中,系统并没有提供相应的位运算操作符,只提供了一种叫作中缀形式的方法,如表4-15所示。
| 位运算符 | 作用描述 | 位运算符 | 作用描述 | | :----- | :----- | :----- | :----- | :----- | :----- | | shl(bits) | 有符号左移(相当于Java <<) | or(bits) | 按位或 | | shr(bits) | 有符号右移(相当于Java >>) | xor(bits) | 按位异或 | | ushr(bits) | 无符号右移(相当于Java >>>) | inv() | 按位取反 | | and(bits) | 按位与 |
上面的位运算操作符只能适用于Int和Long类型。代码如下。
//用中缀表示法调用扩展方法
println(1 shl 2)
//等同于
println(1.shl(2))