按位与、或、异或等运算方法


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!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM