位运算符

来源:互联网 发布:时间软件下载 编辑:程序博客网 时间:2024/06/03 15:54

按位与运算符(&)

参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即:当且仅当同时为1时,结果为1,;否则,为0;(全1为1)
例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。
注:负数按补码形式参加按位与运算。

按位或运算符(|)

参加运算的两个对象,按二进制位进行“或”运算。
运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;
即 :只要有一个为1,结果就为1。(有1为1)
例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。 

异或运算符(^)

参加运算的两个数据,按二进制位进行“异或”运算。
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;
即:同为0,异为1。

按位异或运算的规律是
定理一a ^ b = b ^ a
定理二 a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
定理三 a ^ b ^ a = b, a ^ a^ b = b, b ^ a^ a = b
定理四若d = a ^ b ^ c,则a = d ^ b ^ c

证明:
在d = a ^ b ^ c两边同时异或^ b ^ c,得
d ^ b ^ c =a ^ b ^ c ^ b ^ c
d ^ b ^ c =a ^ b ^ b ^ c ^ c,由定理三得
d ^ b ^ c =a ^ c ^ c,同样由定理三得
d ^ b ^ c =a

*特点:数a两次异或同一个数b(a=a^b^b)仍然为原值a.

原创粉丝点击