Перевод из 10-ной в 2-ную систему счисления - C (СИ)
Формулировка задачи:
Помогите пожалуйста! Задали написать программу перевода из 10 в 2 сс. Но у меня почему-то она не работает. Или я не правильно что-то делаю.
int main() { int x,n,y; scanf("%d",&x); while (x > 0) y = x % 2; n = y + n; x = x / 2; printf ("%d",n); getch(); }
Решение задачи: «Перевод из 10-ной в 2-ную систему счисления»
textual
Листинг программы
int main() { int x,y, i; char t[101]; scanf("%d",&x); t[100] = '\0'; i=100; while (x > 0) y = x % 2; t[--i] = '0' + y; x = x / 2; } printf ("%s\n", t+i); getch(); return 0; }
Объяснение кода листинга программы
В этом коде выполняется перевод числа из десятичной системы счисления в двоичную. Вот список действий, которые выполняются в коде:
- Переменная
x
инициализируется значением, которое вводится пользователем. - Переменная
t
инициализируется нулевым символом ('\0'). - Переменная
i
инициализируется значением 100. - В цикле while выполняется перевод числа из десятичной системы в двоичную.
- В каждой итерации цикла значение переменной
y
равно остатку от деленияx
на 2. - Значение
y
преобразуется в символ и записывается в массивt
с индексомi
. - Значение
i
уменьшается на 1 перед каждой новой итерацией цикла. - Значение
x
делится на 2 перед каждой новой итерацией цикла. - После окончания цикла выполняется вывод строки, которая хранится в массиве
t
. - Программа ожидает нажатия клавиши для завершения работы.
- Возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д