Нужно перевести трехзначное натуральное число в двоичную систему - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Перевести трехзначное натуральное число, заданное в десятичной форме в двоичную систему счисления.

Решение задачи: «Нужно перевести трехзначное натуральное число в двоичную систему»

textual
Листинг программы
int n, rev=0;
scanf("%d", &n);
do {  // Переворачиваем
  rev = 2*rev + n&1;
  n >> 1;
} while (n);
do {  // Выводим
  cout << rev&1;
  rev >>= 1;
} while (rev);
cout << endl;

Объяснение кода листинга программы

  1. В начале кода объявлены две переменные: n и rev типа int.
  2. С помощью функции scanf в переменную n считывается трехзначное натуральное число.
  3. Первый цикл do-while отвечает за перевод числа из десятичной системы в двоичную.
  4. В первой итерации цикла в переменную rev записывается число, равное нулю.
  5. Во второй итерации цикла в переменную rev записывается число, равное сумме rev и n с битом 1.
  6. В третьей итерации цикла число n сдвигается вправо на один бит.
  7. Цикл повторяется до тех пор, пока n не станет равным нулю.
  8. Второй цикл do-while отвечает за вывод двоичного числа.
  9. В первой итерации цикла выводится бит числа rev.
  10. Во второй итерации цикла rev сдвигается вправо на один бит.
  11. Цикл повторяется до тех пор, пока rev не станет равным нулю.
  12. В конце программы выводится символ новой строки.

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы