zoukankan      html  css  js  c++  java
  • 位运算基础

    异或运算的基础有点忘记了

    先介绍一下。。2个数异或 就是对于每一个二进制位进行位运算

    具有2个特殊的性质

    1、一个数异或本身恒等于0,如5^5恒等于0;

    2、一个数异或0恒等于本身,如5^0恒等于5。

    3 满足交换律

     
    1.交换数字
    这个性质能利用与交换数字
    先考虑加减改变法。
    a=a+b
    b=a-b;
    a=a-b;;
     
    实际上以第一个 A(与a区别)=a+b 作为临时的参数A(实际a+b) 完成
    b=A-b=a+b-b=a;
    a=A-a=(经过上面的运算 a==b了)=A-b;
     
    用异或也是同理
    A=a^b
    b=a^b^b=a
    a=A^a(经过上面的运算 a==b了)=A^b
    第一个应用讨论完毕
  • 相关阅读:
    ARC 080
    CodeForces
    [Lydsy1806月赛] 路径统计
    AGC 022 C
    AGC 022 B
    AGC 020 B
    UVA
    AGC 018 A
    python
    python
  • 原文地址:https://www.cnblogs.com/wangmenghan/p/5646632.html
Copyright © 2011-2022 走看看