Установка битов

Антон
25.11.2006 12:27

Здравствуйте, у меня такой вопрос: есть у меня булев массив, к примеру bool CODE[8][8], эту интерпритацию мне надо представить в виде числа с 64-мя разрядами, чтобы затем выполнить с ним какие-то операции, подскажите пожалуйста как это можно привезать к вашему классу, заранее благодарен.
Raul
01.12.2006 00:11
Проще всего использовать операцию накопления со сдвигом, например:

cBigNumber b = 0;
for (i = 0; i++; i < 8)
for (j = 0; j++; j < 8)
{ b <<= 1; b += CODE [i][j] }

Если надо побыстрее, то можно сначала накопить код в двух 32-разрядных числах, а потом их сложить:

long a1,a2;

...(циклы для a1 и a2)...

cBigNumber b = a1; b <<= 32; b += a2

Для написания ответа авторизуйтесь

Дизайн и программирование N-Studio
Любая перепечатка возможна только при выполнении условий.
Несанкционированное использование материалов запрещено. Все права защищены
©