美文网首页
Rust语言编程实例100题-054

Rust语言编程实例100题-054

作者: L我是小学生 | 来源:发表于2021-08-17 12:53 被阅读0次

Rust语言编程实例100题-054

题目:学习使用按位取反!。

普及点计算机知识:计算机并不直接存储二进制原码,而是存储二进制的补码。正数的补码就是原码,比如1,原码0000 0001,补码也为0000 0001。而负数的补码,是“符号位不变,原码取反再加一”(计算机毕竟不是人,需要人为嵌入一套完美的规则。这种存储方式有着严谨的数学证明,感兴趣的同学可以自行上网查找。),比如-1,原码1000 0001,取反1111 1110,加一后1111 1111,1111 1111就是-1的二进制补码。负数输出时,将补码逆向译成原码,原码取反加一得补码,补码减一取反得原码。

程序分析:~0=1; ~1=0

知识点:与 或 非 左移 右移

参考程序代码:

fn main() {
    let a = 10;
    dbg!(!a);
}

程序执行结果:

!a = -11

相关文章

网友评论

      本文标题:Rust语言编程实例100题-054

      本文链接:https://www.haomeiwen.com/subject/fgabbltx.html