https://mp.weixin.qq.com/s/80Q8j-OSMtgh5a92pI-MZA
使用value和mask来描述一个比特模式,即:value = bits & mask.
参考链接:
1. BitPat
a. 使用方法
b. 两个数据成员:value/mask
mask为掩码,标识关心的位;value为掩码位的值。
c. 匹配方法
1) 匹配判断:===
2) 不匹配判断:=/=或者!=
2. 伴生对象提供的过程方法
a. 把字符串"b010??"转换为BitPat
b. parse()
1) 字符串第一个字符必须为'b';
2) 字符串后续字符必须为'01?'中的一个;
3) 如果当前字符为'?',则当前字符在mask中的对应位为0,反之为1;
4) 如果当前字符为'1', 则当前字符在bits中对应的位为1, 反之为0;
c. dontCare/DC
返回一个n位全部不关心的比特模式:
d. 与UInt互转
1) 把BitPat的value作为无符号数使用;
2) 把UInt转换为一个BitPat使用:
3. 附录