Rust语言编程实例100题-055
2021-08-18 本文已影响0人
L我是小学生
Rust语言编程实例100题-055
题目:前面对与或运算符有了一定的简单练习。此题是一个混合练习题,通过此题可以更加深刻的了解Rust的与,或,非,左移,右移运算。
要求:取一个整数 a 从右端开始的 4~7 位(二进制)。
程序分析:可以这样考虑:
(1)先使 a 右移 4 位。
(2)设置一个低 4 位全为 1,其余全为 0 的数,可用(0<<4)
(3)将上面二者进行 & 运算。
知识点:与 或 非 左移 右移
参考程序代码:
fn main() {
let a: u32 = 30;
let b: u32 = a >> 4;
let c: u32 = !(!0 << 4);
println!("{:b}", a);
println!("{:b}", b);
println!("{:b}", c);
let d: u32 = b & c;
println!("{}", d);
}
程序执行结果:
11110
1
1111
1