详细介绍 "|","^","~","&"等不常见符号,以后遇到新的再扩展
前情提要:这些符号都是二进制下进行计算
1:" | " 按位与运算(1|1=1,1|0=1,0|1=1,0|0=0)
例如a=6=110,b=1=001,a|b=111=7(结果并非完全是加法)
a=6=110,b=4=010,a|b=110=6(结果是大数)
2:"&" 按位或运算(1&1=1,0&1=0,1&0=0,0&0=0)
例如a=6=110,b=1=001,a&b=000=0
a=6=110,b=4=010,a&b=010=2
常用于判断奇数偶数 if(n&1),奇数为真,偶数为假(奇数的最后一位是1,偶数是0)
3:"^" 按位异或运算(相同为0,不同为1)
例如a=6=110,b=1=001,a^b=111=7
a=6=110,b=4=110,a|b=000=0
4:"~" 按位取反运算
例如a=6=110,~a=001=1;
常用于输入while(~scanf())==while(scanf()!EOF)(是不是简单一些)