异或 ^ 的几个作用

异或 ^ 的几个作用

一、交换两个整数的值而不必用第三个参数
a = 9;
b = 11;

a=a^b; 1001^1011=0010
b=b^a; 1011^0010=1001
a=a^b;  0010^1001=1011

a = 11;
b = 9;

二、奇偶判断

^a操作就是将a中的每一位按位逐一进行异或,例如a=4‘b1010,则b=1^0^1^0=0,由此可以判断a中为1的位数是奇数还是偶数,是一个便捷的操作。

异或 ^ 的几个作用

时间: 2024-08-29 09:17:56

异或 ^ 的几个作用的相关文章

按位与、或、异或等运算方法

按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1. 另,负数按补码形式参加按位与运算. “与运算”的特殊用途: (1)清零.如果想将一个单元清零,即使其全部二进制位为0,只要与一个各

按位与、或、异或等运算方法(转)

按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1. 另,负数按补码形式参加按位与运算. “与运算”的特殊用途: (1)清零.如果想将一个单元清零,即使其全部二进制位为0,只要与一个各

C++ 按位与(&)、或(|)、异或(^)等操作符

以前一直对这些操作符不以为然,但是最近发现掌握了这些操作符其实会提高解题效率,代码逻辑也会更加清楚 a%=b 等效于 a=a%b 模除并赋值. a|=b 等效于 a=a|b 按位或并赋值. a&=b 等效于 a=a&b 按位与并赋值. a^=b 等效于 a=a^b 按位异或并赋值. a!=b 逻辑判断,a不等于b,当ab不等时为真. && 逻辑与,均为真时结果为真. || 逻辑或,均为假时结果为假,否则为真. !a 逻辑非, a为真时结果为假,否则反. | 按位或 ^ 按位

四、MySQL的数据类型和运算符

4.1.MySQL数据类型介绍 MySQL支持多种数据类型,主要有数值类型.日期/时间类型和字符串类型. 数值数据类型: 包括整数类型   TINYINT.SMALLINT.MEDIUMINT.INT.BIFINT. 浮点小数据类型 FLOAT.DOUBLE 定点小数类型   DECIMAL 日期/时间类型: YEAR.TIME.DATE.DATETIME.TIMESTAMP 字符串类型: CHAR.VARCHAR.BINARY.VARBINARY.BLOB.TEXT.ENUM.SET 整数类

按位与,按位或,按位异或,左移右移运算符

按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1. 另,负数按补码形式参加按位与运算. “与运算”的特殊用途: (1)清零.如果想将一个单元清零,即使其全部二进制位为0,只要与一个各

2016.5.16——leetcode:Number of 1 Bits ,

leetcode:Number of 1 Bits 1.Number of 1 Bits 本题收获: 1.Hamming weight:即二进制中1的个数 2.n &= (n-1)[n = n & (n-1)]的用处 题目: Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight). For exam

按位与、或等运算方法

下面总结一下各种c++中出现的各种位运算的方法! 1 按位与运算符(&) 参加运算的两个数据,按二进制位进行"与"运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为"1",结果才为"1",否则为0 例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1. 另,负数按补码形

对称加密详解,以及JAVA简单实现

(原) 常用的加密有3种 1.正向加密,如MD5,加密后密文固定,目前还没办法破解,但是可以能过数据库撞库有一定概率找到,不过现在一般用这种方式加密都会加上盐值. 2.对称加密,通过一个固定的对称密钥,对需要传输的数据进行加解密,速度快,但是安全性不高,主要用于企业级内部系统中数据传输. 3.非对称加密,N把公钥,一把私钥,私钥存放在服务器一方保管,公钥放可以放在任何一个客户端,客户端向服务器请求的密文只有拿到了私钥的服务器一端可以解密. 这里有个概念解释一下, 随机盐值(solt): abcd

按位与运算符

按位与运算符(&) 参加运算的两个数据,按二进制位进行"与"运算. 运算规则:0&0=0;   0&1=0;    1&0=0;     1&1=1; 即:两位同时为"1",结果才为"1",否则为0 例如:3&5  即 0000 0011 & 0000 0101 = 0000 0001   因此,3&5的值得1. 另,负数按补码形式参加按位与运算. "与运算"的特