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。

     

  • 相关阅读:
    .NET学习笔记(1)— C#学习路线图
    Huffman树压缩程序(c实现)
    selenium webdriver使用一二三
    同时装了python2和python3,pip没法使用
    NotePad++配置python开发环境(windows)
    用Sublime搭建Python开发环境(windows)
    mapbox将图层缩放到视口合适区域
    关于 FormData 和 URLSearchParams
    vue-router在新窗口打开页面
    微信小程序wx.request 请求方法
  • 原文地址:https://www.cnblogs.com/Silymtics/p/13765258.html
Copyright © 2011-2022 走看看