对初学者来说,0000 0011和0000 0101为什么分别是3和5
那么就是你还不知道二进制转十进制的运算!!!
0000 0011=0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+1*2^1+1*2^0=3 结果为3
0000 0101=0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+1*2^2+0*2^1+1*2^0=5 结果为5
则3&5
0000 0011
&
0000 0101
---------------------------
0000 0001
遵循运算规则结果就是0000 0001
0000 0001=0*2^7+0*2^6+0*2^5+0*2^4+0*2^3+0*2^2+0*2^1+1*2^0=1 结果为1
所以3&5的值得1
还有小伙伴就会说,为啥要这么长一条数值呢?
他们会说011也可以结果等于3,101结果等于5,然后3&5为001,结果也是1
这时候就应该了解一个概念:
计算机专业术语,是信息量单位,是由英文BIT音译而来。二进制的一位所包含的信息就是一比特。
如二进制数0100就是4比特。
而他们说的011、101、001就是3比特
比bit更大的计量单位是byte,byte是8个字节
0000 0011和0000 0101和0000 0001是8位,都代表一个字节。
因为现在用的最多的byte字节,是8位的。
所以才会写成0000 0011和0000 0101和0000 0001