参考
位运算讲稿_by_Matrix67 密码: bukk
优先级
貌似逻辑运算的优先级比位运算高,其次是加减乘除
实际应用中我们不浪费时间在优先级的考虑上,直接用括号来得到自己想要的优先级即可
xor
基本操作
1 xor 1=0
0 xor 0=0
1 xor 0=1
0 xor 1=1
同0异1
交换
if a xor b=c xor dthen a xor c=b xor d
判断a的二进制数中1的个数的奇偶性
function(a:longint):longint;
begin
a:=a xor(a>>1);
a:=a xor(a>>2);
a:=a xor(a>>4);
a:=a xor(a>>8);
a:=a xor(a>>16);
exit(a and 1);
end;
判断a的二进制的那一位是1
for i:=1 to n do
if a and (1<<(i-1))<>0
then writeln('a的第i为是1');