Как манипулировать и представлять двоичные числа в C ++
В настоящее время я пытаюсь построить таблицу поиска для дерева Хаффмана, используя довольно простой алгоритм обхода предзаказа, но я застрял, выполняя очень простые побитовые операции. Код псевдо следует:
void preOrder(huffNode *node, int bit) //not sure how to represent bit
{
if (node == NULL)
return;
(1) bit = bit + 0; //I basically want to add a 0 onto this number (01 would go to 010)
preOrder(node->getLeft(), bit);
(2) bit = bit - 0 + 1; //This should subtract the last 0 and add a 1 (010 would go to 011)
preOrder(node->getRight());
}
Я совсем запутался в том, как выполнять операции, определенные в строках (1) и (2)
Какой тип данных используется для представления и печати двоичных чисел? В приведенном выше примере у меня есть число, представленное как int, но я уверен, что это неверно. Кроме того, как вы добавляете или вычитаете значения? Я понимаю, как & amp; и | Логика типов работает, но я запутался в том, как выполнять подобные операции в коде.
Может ли кто-нибудь опубликовать несколько очень простых примеров?