美文网首页
异或运算符妙用

异或运算符妙用

作者: 佳佳嘉1024 | 来源:发表于2018-01-30 14:00 被阅读0次

    异或运行符(^)

    1. 位相同,结果为0;
    2. 位不同,结果为1;

    3个特点

    操作 结果 示例
    0异或任何数 任何数 a ^= 0
    1异或任何数 任何数取反 a ^= 1
    任何数异或自己 把自己置0 a ^= a

    常见应用

    1. 翻转指定位
    aa ^= ( 1 << 2 ); // 翻转第2位
    
    1. 不使用零时变量,交换两个值
    a = a^b; // a=10100111
    b = b^a; // b=10100001
    a = a^b; // a=00000110
    
    1. 将变量置零
    a ^= a; //  将变量a置零
    
    1. 判断两个值是否相等
    if ( ( a ^ b ) == 0 ) { printf( "a = b" ); }
    

    相关文章

      网友评论

          本文标题:异或运算符妙用

          本文链接:https://www.haomeiwen.com/subject/idqczxtx.html