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
上一篇下一篇

猜你喜欢

热点阅读