Rust 位运算符
假设变量A = 2,B = 3。
序号 | 运算符 | 描述 | 示例 |
---|---|---|---|
1 | & (位与) | 对于整型参数的每个比特位执行布尔与操作。 | (A & B) 是2 |
2 | | (位或) |
对于整型参数的每个比特位执行布尔或操作。 | (A | B) 是3 |
3 | ^ (位异或) | 对于整型参数的每个比特位执行布尔异或操作。异或操作表示操作数一为真或操作数二为真,但不能都为真。 | (A ^ B) 是1 |
4 | ! (位非) | 它是一个一元运算符,通过翻转操作数中的所有比特位进行操作。 | (!B) 是-4 |
5 | << (左移) | 它将第一个操作数中的所有比特位向左移动指定的位数。新的比特位填充为零。将一个数左移一位相当于乘以2,将两个位置左移相当于乘以4,以此类推。 | (A << 1) 是4 |
6 | >> (右移) | 二进制右移运算符。左操作数的值向右移动由右操作数指定的比特位数。 | (A >> 1) 是1 |
7 | >>> (无符号右移) | 此运算符与>>运算符类似,不同之处在于左移的比特位始终为零。 | (A >>> 1) 是1 |