注:我们默认1个字节用8个位 ,编号分别为7~1。
1.二进制小数
实际上,二进制表示法只能精确地表示多个1/2的幂的和,如3/4, 7/8,而1/3, 2/5等是无法精确表示的。
2.对异或的理解
粗暴理解就是男性和女性能生出孩子,否则就不行。不允许共存。
异或运算其实就是半加器运算,不进位
0 xor 0 =0
0 xor 1 =1
1 xor 1 =(1) 0
1 xor 0 =1
异或实际上就是判断两个输入逻辑值是否不同,如果不同则结果为1,相同则为0。若a=0,b=0,a异或b 两数相同,输出结果为0,结果与b相同;
若a=0,b=1,a异或b 两数不同,输出结果为1,结果与b相同;
若a=1,b=0,a异或b 两数不同,输出结果为1,结果与b相反;
若a=1,b=1,a异或b 两数相同,输出结果为0,结果与b相反;
3.用法:掩码
按位运算符常用于掩码(mask),所谓掩码指的是一些设置为开(1)或关(0)的位组合。
为什么叫其为掩码呢?
我们把一个量与掩码结合后发生什么情况:
例如:假设定义符号常量mas为2(即,二进制形式为00000010),只有1号位是1,其他位都是0
flag =10010110b
flags = flags & mark;
把flags中除1号位以