美文网首页
位运算符:与、或、异或、取反、左移和右移

位运算符:与、或、异或、取反、左移和右移

作者: 林博伦 | 来源:发表于2020-08-10 16:01 被阅读0次

位运算符是按照二进制进行运算。

& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0

| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1

^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1

~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0

<< 左移 用来将一个数的各二进制位全部左移N位,右补0

>> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0

1. 按位与 &

  • 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
  • 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
  • 例如:3|5 即 0011 & 0101 = 0001

2. 按位或 |

  • 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;
  • 两个相应的二进制位中只要有一个为1,该位的结果值为1
  • 例如:3|5 即 0011 | 0101 = 0111

3. 异或 ^

  • 运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;
  • 参加运算的两个二进制位值相同则为0,否则为1(不进位加法)
  • 与0相异或,保留原值
  • 交换a和b的值
    • a=a^b
    • b=b^a
    • a=a^b
  • 例如:3|5 即 0011 ^ 0101 = 0110

4. 取反 ~

  • 运算规则:~1=0; ~0=1;
  • 即将0变1,将1变0
  • 例如:3 即 ~0011 = 1100

5. 左移 <<

  • 将一个数的各二进制位全部左移N位,右补0
  • 例如:3 即 0011<< =0110

6. 右移 >>

  • 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0
  • 例如:3 即 0011 >> = 0001

相关文章

  • (二)位运算

    1、位运算符 用来操作二进制位。 与 | 或 | 异或| 取反 | 左移| 右移 | 无符号右移----|--...

  • js 中位运算的应用

    按位运算符有6个: 按位与 & 按位或 | 按位异或 ^ 取反 ~ 右移 >> 左移 << 应用...

  • ~ 按位取反<< 左移 右移<<= 左移并赋值= 右移并赋值& 按位与^ 按位异或| 按位或&= 按位与赋值^...

  • C语言位运算符及常见用法

    一、位运算符C语言提供了六种位运算符:# & 按位与| 按位或^ 按位异或~ 取反<< 左移 >>右移 ...

  • 位运算符

    按位运算符有6个 & 按位与| 按位或^按位异或~取反>>右移<<左移 1 、& 运算符 &是二元运算符,它以特定...

  • 面试精选之位操作问题集锦

    Java 中位运算符有与(&)、或(|)、非(~)、异或(^)、左移(<<)、右移(>>)、无符号右移(>>>),...

  • Java中的位运算符

    按位与(&)、按位或(|)、异或(^)取反(~)、左移(<<)、右移(>>) 按位与(&) 例如:3&5 即 0...

  • ios 中的位运算

    位运算的符号:~ | & ^ << >>分别代表的是按位取反,按位或,按位与,按位异或,左移,右移 按位取反操作 ...

  • 位运算

    右移>> 左移<< 按位或 | 按位与 & 按位异或 ^ 按位取反~ 异或运算 x^0 = 0;x^1s = ~x...

  • C++位操作

    位操作 基本的位操作符有与、或、异或、取反、左移、右移这6种。在这6种操作符,只有取反是单目运算符,其它5种都是双...

网友评论

      本文标题:位运算符:与、或、异或、取反、左移和右移

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