Я хотел бы иметь математическое выражение, которое описывает набор целых чисел.Этот набор целых чисел должен соответствовать следующему.
Предположим, у меня есть 10 битов.Я хочу сгенерировать все целые числа, которые состоят, например, из бита 0, 1, 2, 3, 8, 9, 10. Так, например, набор должен содержать, например:
- 0, потому что0 * 2 ^ 0 + 0 * 2 ^ 1 + 0 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 8 + 0 * 2 ^ 9 + 0 * 2 ^ 10 = 0
- 1потому что 1 * 2 ^ 0 + 0 * 2 ^ 1 + 0 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 8 + 0 * 2 ^ 9 + 0 * 2 ^ 10 = 1
- 2, потому что 0 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 8 + 0 * 2 ^ 9 + 0 * 2 ^ 10 = 2
- ...
- 259, потому что 1 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 0 * 2 ^ 3 + 1 * 2 ^ 8 + 0 * 2 ^ 9+ 0 * 2 ^ 10 = 259
- ...
Таким образом, размер этого набора будет 2 ^ 7 = 128 элементов, потому что у нас есть 7 соответствующих битов.
Математическое выражение должно выглядеть примерно так: {n: Nat |n> = 0 && n <2 ^ 11 && ... (что-то сделать с соответствующими битами) ...} </p>
К вашему сведению Мне нужно сгенерировать набор натуральных чисел для языка MCRL2.http://www.mcrl2.org/mcrl2/wiki/index.php/Home.