- Rust 教程
- Rust - 首页
- Rust - 简介
- Rust - 环境搭建
- Rust - HelloWorld 示例
- Rust - 数据类型
- Rust - 变量
- Rust - 常量
- Rust - 字符串
- Rust - 运算符
- Rust - 决策
- Rust - 循环
- Rust - 函数
- Rust - 元组
- Rust - 数组
- Rust - 所有权
- Rust - 借用
- Rust - 切片
- Rust - 结构体
- Rust - 枚举
- Rust - 模块
- Rust - 集合
- Rust - 错误处理
- Rust - 泛型类型
- Rust - 输入输出
- Rust - 文件输入/输出
- Rust - 包管理器
- Rust - 迭代器和闭包
- Rust - 智能指针
- Rust - 并发
- Rust 有用资源
- Rust - 快速指南
- Rust - 有用资源
- 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
rust_operators.htm
广告