Я хотел бы реализовать сверхкомпактное хранилище для структур с рациональными числами.
В книге Александра Шрайвера "Теория линейного и целочисленного программирования" я нашел определение размеров битов (стр. 15). рациональное число , вектор и матрица:
Представление рационального числа ясно: один бит для знака и логарифм длячастное и дробь.
Я не могу понять, как вектор может быть закодирован только в n
битах, чтобы различать его элементы?Например, что если я хотел бы написать вектор из двух элементов: 524 = 1000001100b
, 42 = 101010b
.Как я могу использовать только 2 дополнительных бита, чтобы указать, когда заканчивается 1000001100
и начинается 101010
?
Та же проблема существует с матричным представлением.