& | 是一个位运算符,针对位操作。将两个二进制的数逐位于操作(或操作)。
&& || 是一个逻辑运算符。
设有变量x和y,则x&y,是先把x与y转换成二进制,在对每一位进行&计算,都为1则结果为1,否则为0。x|y是先把x与y转换成二进制,在对每一位进行|计算,只要有一个为1,则结果为1,两个都为0,结果才为0。
6&3=110&011=010=2
6|3=110|011=111=7
6转化为二进制:
除2求余数,余数从下往上排列:110
3转化为二进制:
除2求余数,余数从下往上排列:11
6&3,6是3位二进制,所以把3的二进制补全到3位,即:011(补位,小数点前在左边补0,小数点后在右边补位0)
负正整数转二进制:
先将对应的正整数转换成二进制后,对二进制取反,然后对结果加一。以-42为例。
小数转二进制:
对小数点以后的数乘以2,取结果整数部分(不是1就是0),然后再用小数部分乘以2,再去结果整数部分。。。以此类推,直到小数部分为0。再把取得结果按先后顺序排列,就构成二进制小数部分。举例0.125
如果是6.25,分别把6和0.25转成二进制,然后用小数点拼接在一起。
二进制转十进制:
二进制小数转十进制:
二进制转负数:
结果为-13