掩码在计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。
示例:创造一个掩码msk
把一个指令cmd
的第0
~3
位(右边第一位为0
位)清零:
指令 cmd = 0110011011
创造掩码 msk = 0000001111
用掩码的反码~msk和指令cmd做按位与运算 cmd & ~msk = 0110011011 & 1111110000 = 0110010000
则指定的第0
~3
位已被清零。为什么不直接创造一个数=1111110000呢,猜测是因为保存为补码的关系