Таким образом, в основном, у вас есть набор предметов, которые могут быть включены (1) или исключены (0).Если считать от 0 до 2 ^ (количество элементов) -1, каждое целое число будет набором битов, указывающих, какие элементы включены.
Если у вас есть 7 элементов, в цикле от 0 до 127выбраны следующие предметы:
x0000000 (loop variable = 0, no items are chosen)
x0000001 (loop variable = 1, item [1] is chosen)
x0000010 (loop variable = 2, item [2] is chosen)
x0000011 (loop variable = 3, items [1] and [2] are chosen)
...
x1111111 (loop variable = 127, items [1], [2], [3], [4], [5], [6], [7] are chosen)