我目前正在研究 IP 多播,并确定解决 N 主机的所有可能组合所需的唯一多播组的数量。
例如,如果我们有 3 台终端主机(A、B、C),则需要创建总共 4 个多播组才能使这些主机的所有可能组合(AB、AC、BC、ABC)能够被寻址,不包括正在处理 1 或 0 个主机的实例。
据我所知,不包括正在寻址 1 或 0 个主机的实例的唯一组数可以表示为 [2^N - (N + 1)],其中 N = 主机数。
但是,我有兴趣查看在仅处理至少一定百分比的系统时存在多少组。
例如,如果我们有 5 个系统,我们总共会有 26 个多播组。但是,如果我们排除正在处理 3 个或更少系统的组(仅查看有 4 个或所有系统都已处理的组),我们将只有 6 个组。我可以手动确定这一点,如下所示。
有没有我可以用来计算的公式?因此,如果我们有 N 个主机并且只想创建包含 Y 个或更多主机的多播组,这意味着我们有 Z 个多播组。在上面的例子中,Y = 4,Z被确定为6。
任何帮助或反馈总是很感激
1 with 0 bits set
00 - 00000
5 with 1 bit set
01 - 00001
02 - 00010
04 - 00100
08 - 01000
16 - 10000
10 with 2 bits set
03 - 00011
05 - 00101
06 - 00110
09 - 01001
10 - 01010
12 - 01100
18 - 10010
20 - 10100
17 - 10001
24 - 11000
10 with 3 bits set
07 - 00111
11 - 01011
13 - 01101
14 - 01110
19 - 10011
21 - 10101
22 - 10110
25 - 11001
26 - 11010
28 - 11100
5 with 4 bits set
15 - 01111
23 - 10111
27 - 11011
29 - 11101
30 - 11110
1 with 5 bits set
31 - 11111