2025-11-20 02:44:57
卡位就是给二进制位贴标签,卡位卡就是不让其他位干扰它比如用掩码00000100把第3位设1其他位不管怎么变都保持原样。比如数值是01010101想固定第3位就要先用掩码00000100做与运算得到00000100再想保留第3位的同时让其他位恢复原样就用掩码00000100做或运算得到01010101这样就能精准控制某一位的值了。
为什么卡位要分与或两种操作呢?因为二进制位有0和1两种状态如果只用与运算把某一位固定为0的话其他位会被强制清零这不符合实际需求比如用掩码11111000与运算数值01010101会变成01010000而用掩码00000100与运算才会保持01010101不变。数据显示与运算能精准置0特定位而或运算能精准置1特定位比如测试用例中用掩码00000100与运算后第3位固定为0的概率是100%而或运算后第3位固定为1的概率也是100%。所以要卡位卡就要根据需求选择与或运算组合使用比如先与运算固定0再或运算设置1这样就能完全控制目标位的值了。
本题链接: