常量与十六进制数0x7f或0x3f做&(与)运算含义

做个复习。

十六进制数 [0~10 A~F]

0x7f对应的二进制数及十进制数为:0111 1111 = 2^7 = 128

0x3f对应的二进制数及十进制数为:0011 1111 = 2^6 = 64

 0x7f与常量做与运算实质是保留常量(转换为二进制形式)的后7位数,既取值区间为[0,128]

比如,0x7f & 256

    0111 1111  -------- 128

&  1111 1111 -------- 256

-----------------------

   0111 1111  --------- 128

 

再比如,0x7f & 10

    0111 1111  -------- 128

&  0000 1010 -------- 10

-----------------------

   0000 1010  --------- 10

 

同理,0x3f与常量做与运算实质是保留常量(转换为二进制形式)的后6位数,既取值区间为[0,64]

 

 

你可能感兴趣的:(运算)