Как манипулировать и представлять двоичные числа в 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; и | Логика типов работает, но я запутался в том, как выполнять подобные операции в коде.

Может ли кто-нибудь опубликовать несколько очень простых примеров?

Ответы на вопрос(3)

Ваш ответ на вопрос