Одним из решений является проверка значения каждого отдельного бита с помощью битовой маски. Обратите внимание, что целое число обычно составляет 4 байта в большинстве систем, но для вашего примера давайте рассмотрим только самые правые 8 бит. Кроме того, я собираюсь предположить, что sum
уже правильно рассчитан, так как ваш вопрос касается печати целого числа в двоичном коде, а не разбора уравнений или арифметики.
Давайте сделаем битовую маску, эквивалентную 10000000
, чторавно 128, а затем поверните его. Затем мы можем проверить sum
с помощью побитового И, чтобы увидеть, установлен ли каждый бит.
int bitmask = 128;
for (int i = 0; i < 8; i++ ) {
if (sum & bitmask)
printf("1");
else
printf("0");
bitmask = bitmask >> 1;
}
printf("\n");
Это решение проверяет каждый бит в sum
слева направо, чтобы увидеть, установлен ли он. Если это так, выведите 1, в противном случае выведите 0. Это один из способов вывести целые числа в двоичном формате.