1.十进制转二进制:67=2的6次方 + 2 + 1,即1+000000+1*2的1次方 + 1*2的0次方 =100000011
2.n位二进制的取值范围:0 ~2的n次方 -1 eg 101,:110,011,
3.二级制之间的一些计算:
a.按位与 “&”
规则:两个二进制位都是1,那么就给是1,否则结果是0
作用:可以精确的判对比二进制位,只和1作对比就可以了,可以判断奇偶性(x位与1结果为1,那么x是奇数,结果为0,x是偶数)
eg. 00101
10100
---------------------
00100
b.按位或 “|”
规则:两个二进制位只要有一个是1,那么结果就是1
eg. 00101 | 10100 结果是:10101
c.按位异或 “^”
规则: 两个二进制位不相同,结果为1,否则结果是0
结论:相同的两个是异或,结果为0
异或可以交换 9^5^6=9^6^5
任何数值跟0异或,结果还是原来的数,9^0=9
综合应用:a ^ b ^ a=b
eg. 00101 ^ 10100 结果是:10001
d.按位取反 “~”
规则:一个二进制位上取反
eg. ~10100 = 01011
e.左移 “<<”
规则:二进制位向左移 n 位,高位舍去,低位0补齐,
结论:a << n ,结果是a*2的n次方
作用:用于计算次方,性能比直接循环乘的方式好
f.右移 “>>”
规则:符号位不变,其它位向右移,舍去低位,一般用符号位值补齐高位
结论:a >> n ,结果是:a除以2的n次方