我想知道是否有一种方法可以找出给定的二进制模式中,两个或更多个1位于另一个二进制模式之内。我说模式是因为它的实际值并不确定是否在另一个模式内。
例如,
0001 1110 0000 0000
0001 1111 0000 0000
--> true
0001 0000 1100 0000
0001 1111 0000 0000
--> false
0001 1100 0000 1000
0001 0000 0000 1111
--> true
0001 1000 1100 0000
0001 0000 0000 1111
--> false
我尝试使用多种AND/OR/XOR/NOT操作,但不确定如何操作。 请帮忙!
所以针对这个数据的问题如下:
const RANKS = [
0b0000000001110001,
0b0000001001000110,
0b0001001100000100,
0b0000000011011000,
];
我正在尝试循环遍历RANKS,以查看它是否匹配某个模式:
const PATTERNS = [
0b0001111100000000,
0b0000111110000000,
0b0000011111000000,
];
只需要在RANK中找到2个1符合PATTERN就可以认为是正确的。
&
然后 计算位数。 - Bergi