zoukankan      html  css  js  c++  java
  • 关于“与”、“或”、“异或”的运算法则

    今天在做CF486B的时候发现用到了或运算,来普及一下(dalao勿喷,因为我太弱了,所以我来做个笔记

    貌似这个博客更全

    1、与运算(&)

      参加运算的两个数据,按二进制位进行“与”运算。

      运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1;

             即:两位同时为“1”,结果才为“1”,否则为0

      例如:10&11  即 0000 1010 & 0000 1011 = 0000 1010   因此,10&11的值得10。

      例如:8&28  即 0000 1000 (8的二进制补码)& 0001 1100 (28的二进制补码) = 0000 1000 (8的二进制补码)可见8 & 28 = 8。

    2、或运算(|):

      参加运算的两个对象,按二进制位进行“或”运算。

      运算规则:0|0=0;   0|1=1;   1|0=1;    1|1=1;

         即 :参加运算的两个对象只要有一个为1,其值为1

      例如:10|11  即 0000 1010 | 0000 1011 = 0000 1111   因此,10|11的值得15。

      例如:8|28  即 0000 1000 (8的二进制补码) | 0001 1100 (28的二进制补码) = 0001 1100 (8的二进制补码)可见8 | 28 = 28。

    3、异或运算(^)

      参加运算的两个数据,按二进制位进行“异或”运算。

      运算规则:0^0=0;   0^1=1;   1^0=1;   1^1=0;

        即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

      例如:10^11  即 0000 1010 ^ 0000 1011 = 0000 0001   因此,10 ^ 11的值得1。

      例如:8^28  即 0000 1000 (8的二进制补码) ^ 0001 1100 (28的二进制补码) = 0001 0100 (8的二进制补码)可见8 ^ 28 = 20。

     

  • 相关阅读:
    android中ping命令的实现
    回溯法——求解0-1背包问题
    scanner使用中遇见的问题
    Eddy's digital Roots
    项目经理注意事项(3)---宏观把控
    Spring IOC容器
    C++对象模型——Template中的名称决议方式 (第七章)
    比赛对手名单
    猴子吃桃问题
    设计模式-单例模式(02)
  • 原文地址:https://www.cnblogs.com/Silymtics/p/13765258.html
Copyright © 2011-2022 走看看