From 568094dc04bdeba6dc788e571ebbea72bbd52ea1 Mon Sep 17 00:00:00 2001 From: tianq02 <94333179+tianq02@users.noreply.github.com> Date: Sun, 18 Feb 2024 18:51:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=8D=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B=E5=B1=95=E7=A4=BA=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/basic/base-type/numbers.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/basic/base-type/numbers.md b/src/basic/base-type/numbers.md index b9ba71752..406a21980 100644 --- a/src/basic/base-type/numbers.md +++ b/src/basic/base-type/numbers.md @@ -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); } ```