位运算

作者: 沉睡中勿扰 | 来源:发表于2021-06-14 23:49 被阅读0次

    位运算符号

    位运算符号有如下几个 &,|,^,~。
    接下来一个一个说下我的理解吧。

    &运算符

    &,与,逻辑运算的话,应该叫做并且,a & b,转换成二进制,比如 4 & 1 = ?。等于多少呢!首先转换成二进制, 100 & 1 = 0,转换成十进制,还是0;5 & 1 = ?;这个呢,答案呢,当然是 101 & 1 = 1;由于1二进制的最后一位是1,再根据&运算符的性质,相同为1,不同为0。可以得出 “奇数 & 1 = 1”和“偶数 & 1 = 0”的结论。

    |运算符

    |,或,逻辑运算符,应该叫做或,应该是或的关系,转换成二进制,只要有一个为1 则为1,否则为0。举个例子吧,3 | 1 =? ;答案呢,当然是 11 | 1 = 11,转换成10进制,也就是 3 | 1 = 3;4 | 1 = ?呢,一样的计算逻辑,100 | 1 = 101,也就是 4 | 1 = 5,就是这样计算的。得出的结论是“奇数 | 1 = 奇数本身”和“偶数 | 1 = 偶数 + 1”的结论。

    ^运算符,逆运算,都很重要

    ^,异或运算符,应该叫做异或,逻辑关系,最重要的特点是逆运算;那么,什么是逆运算呢?a + b = c; c - a = b; c - b =a;这就叫做减法是加法的逆运算;或许,你会问,加法是减法的逆运算吗?按照规则推算,a - b = c ; c+b =a; c+a != b;所以,加法不是减法的逆运算;大概,你可以知道,逆运算最主要的特点:可以交换。比如,a ^ b = c;那么 c ^ b = a; c ^ a = b;都是成立的。这就是逆运算。不过,异或是一个可逆的运算,也就是不像减法是加法的那样,不可逆;a ^ b = c;任何2个数异或操作都等于第三个数。相同为0,不同为1,这是^运算的最大特点。比如,a ^ b ^ a ^ c ^ c = b;首先满足交换律,找到相同的在一起;然后执行运算,相同为0,不同为1,最后得到 0 ^ b ,0和任何数 ^ 运算后都等于它本身。

    ~运算符

    ~,取反运算,很简单了,相对来说。
    ~1 = 0; ~2 = 1;
    很简单了吧。

    相关文章

      网友评论

          本文标题:位运算

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