Rust 位运算符

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

插图

fn main() {
   let a:i32 = 2;     // Bit presentation 10
   let b:i32 = 3;     // Bit presentation 11

   let mut result:i32;

   result = a & b;
   println!("(a & b) => {} ",result);

   result = a | b;
   println!("(a | b) => {} ",result) ;

   result = a ^ b;
   println!("(a ^ b) => {} ",result);

   result = !b;
   println!("(!b) => {} ",result);

   result = a << b;
   println!("(a << b) => {}",result);

   result = a >> b;
   println!("(a >> b) => {}",result);
}

输出

(a & b) => 2
(a | b) => 3
(a ^ b) => 1
(!b) => -4
(a << b) => 16
(a >> b) => 0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程