Нужно перевести трехзначное натуральное число в двоичную систему - 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;
Объяснение кода листинга программы
- В начале кода объявлены две переменные:
nиrevтипаint. - С помощью функции
scanfв переменнуюnсчитывается трехзначное натуральное число. - Первый цикл
do-whileотвечает за перевод числа из десятичной системы в двоичную. - В первой итерации цикла в переменную
revзаписывается число, равное нулю. - Во второй итерации цикла в переменную
revзаписывается число, равное суммеrevиnс битом 1. - В третьей итерации цикла число
nсдвигается вправо на один бит. - Цикл повторяется до тех пор, пока
nне станет равным нулю. - Второй цикл
do-whileотвечает за вывод двоичного числа. - В первой итерации цикла выводится бит числа
rev. - Во второй итерации цикла
revсдвигается вправо на один бит. - Цикл повторяется до тех пор, пока
revне станет равным нулю. - В конце программы выводится символ новой строки.