& |

& | 是一个位运算符,针对位操作。将两个二进制的数逐位于操作(或操作)。

&& || 是一个逻辑运算符。

设有变量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

原文地址:https://www.cnblogs.com/DreamFather/p/15309458.html