Доброе время суток, коллеги.
Есть у меня необходимость получить десятичное число в виде массива битов заданной размерности D, например, для D=4
Точнее, задача стоит создать массив A(1 To X), содержащий массивы битов для чисел в интервале от 1 до X.
При этом правильно ли я понимаю, что X - это число, соответствующее 2^D - 1?
В связи с этим вопрос - как можно это экономно сделать в VBA, определив заранее размер массива по верхней границе диапазона?
Все, что нашел пока - алгоритмы для С++, Java и прочего, которые я перевести не могу.
Воспользовался алгоритмом из Википедии (вычисление остатков от деления на 2), но он какой-то громоздкий.
Есть какие-то более правильные решения?
Есть у меня необходимость получить десятичное число в виде массива битов заданной размерности D, например, для D=4
Код |
---|
A(i) = Array(0,0,1,0) ' двойка A(i) = Array(0,1,0,1) ' пятерка |
При этом правильно ли я понимаю, что X - это число, соответствующее 2^D - 1?
В связи с этим вопрос - как можно это экономно сделать в VBA, определив заранее размер массива по верхней границе диапазона?
Все, что нашел пока - алгоритмы для С++, Java и прочего, которые я перевести не могу.
Воспользовался алгоритмом из Википедии (вычисление остатков от деления на 2), но он какой-то громоздкий.
Есть какие-то более правильные решения?
F1 творит чудеса