按位与或异或等运算方法

Posted strive-ss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按位与或异或等运算方法相关的知识,希望对你有一定的参考价值。

1.按位与运算符(&)

  简单来说就是,对应的二进制位有一个或者两个为1,则该位的运算结果为1,否则为0.   如下:        1010

                                              10:1010           15:1111         就是 :  1010&1111       1111   上下结果:1111。

                                                  记住只要位运算上面有1    就要保留1   !                   

2.按位或运算符(|)

  对应的二进制位中必须都是1,则结果为1,否则为0.  简单来说也就是:1*1=1,1*0=0.     如下:       1010                     

                                      10 :  1010         15  : 1111   就是 1010|1111                                                     1111     上下结果就是:1010

                               记住口诀就是  1*1=1   1*0=0              

3.按位异或运算符(^)

  

  对应的二进制位中必须都是1,则结果为1,否则为0.  简单来说也就是:1*1=0,1*0=1.     如下:       1010                     

                               10 :  1010         15  : 1111   就是 1010^1111                                                     1111     上下结果就是:0101

                               记住口诀就是  1*1=0   1*0=1      和按位或运算正好相反        

4.取反运算符(~)

   将对应的二进制数逐位反转,即1取反为0,0取反为1 。

  “~”取反运算符的级别高于位于运算符“&”。因此如果两个运算符在一块的话,先取反,再进行位于运算!

   还是拿10和15举例子:10 : 1010      取反为  ~10 :0101 即  ~10=5;15 :1111 取反为 ~15 : 0000   即 0。

        5&~1等于        5  :0101              1  :1   取反为0       则5&~1=0100  即等于  4 

 

5.左移运算符(<<)

  我觉得概念没有直接举例子来的通俗易懂

                ………………1的二进制是 00000001       1<<2  后就是 00000100即4      1<<3就是00001000即8

                                                                                                         4<<2    就是00010000  即16

6.右移运算符(>>)

    和左移运算符相反    不过1>>2  就是00000000  即0!

 

以上是关于按位与或异或等运算方法的主要内容,如果未能解决你的问题,请参考以下文章

按位与或异或等运算方法

按位与或异或运算

位算符详解 按位与或异或取反左移右移

移位位与或异或非

位运算(按位与按位或异或)

位运算(按位与按位或异或)