- 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
廣告