www.fgks.org   »   [go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修改位操作示例展示效果 #1383

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
修改位操作示例展示效果
  • Loading branch information
tianq02 committed Feb 18, 2024
commit 568094dc04bdeba6dc788e571ebbea72bbd52ea1
26 changes: 16 additions & 10 deletions src/basic/base-type/numbers.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,27 +258,33 @@ Rust的位运算基本上和其他语言一样

```rust
fn main() {
// 二进制为00000010
let a:i32 = 2;
// 无符号8位整数,二进制为00000010
let a: u8 = 2; // 也可以写 let a: u8 = 0b_0000_0010;

// 二进制为00000011
let b:i32 = 3;
let b: u8 = 3;

// {:08b}:左高右低输出二进制01,不足8位则高位补0
println!("a value is {:08b}", a);

println!("b value is {:08b}", b);

println!("(a & b) value is {}", a & b);
println!("(a & b) value is {:08b}", a & b);

println!("(a | b) value is {}", a | b);
println!("(a | b) value is {:08b}", a | b);

println!("(a ^ b) value is {}", a ^ b);
println!("(a ^ b) value is {:08b}", a ^ b);

println!("(!b) value is {} ", !b);
println!("(!b) value is {:08b}", !b);

println!("(a << b) value is {}", a << b);
println!("(a << b) value is {:08b}", a << b);

println!("(a >> b) value is {}", a >> b);
println!("(a >> b) value is {:08b}", a >> b);

let mut a = a;
// 注意这些计算符除了!之外都可以加上=进行赋值 (因为!=要用来判断不等于)
a <<= b;
println!("(a << b) value is {}", a);
println!("(a << b) value is {:08b}", a);
}
```

Expand Down