异或运算符妙用

异或运行符(^)

  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" ); }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,167评论 6 13
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,199评论 0 13
  • 运算符是处理数据的基本方法,用来从现有的值得到新的值。JavaScript 提供了多种运算符,本章逐一介绍这些运算...
    许先生__阅读 621评论 0 3
  • 今天天气开始变温,特别的冷,在家呆了一整天刷题,这些枯燥的题目做得太无聊了,中途在家睡了两次,导致老是做的不过关。...
    美颜坊秋秋阅读 158评论 0 0
  • 下面粗略总结一下iPhone 不同设备的尺寸和各种分辨率的不同和区别,有不当之处还请指正. iPhone设备的屏幕...
    SimpleBK阅读 25,114评论 0 5