数字&0xFF的问题? 为什么什么数字,按位与(&)上0xFF都等于那个数字呢

2024-11-25 23:54:28
推荐回答(1个)
回答1:

0xFF是16进制的,变为二进制就是 1111 1111,即8个1,假如0xFF与0x31执行 & 运算
0x31的二进制位 0011 0001
1111 1111
0011 0001
两数 & 运算时是二进制的每一位相与 ,即0xff第一位和0x31第一位 “与”运算,“1” 与 “1”相与为1,
再看下最高位(第8位) 0xFF为1 0x31的为0,0与1与结果为0,即结果是0x31的第八位值,二进制只有0和1,不管何数与0xFF相与结果都是那个数的原值