Как написать код программы, которая переводит с 10-чной в 2-чную систему счисления - C (СИ)
Формулировка задачи:
Помогите составить код к программе, которая переводит числа с 10-ой системы изчисления в 2-ую, то есть ввожу число 5 - в десятичной, мне его должно выбить в 2-чной. На Си нужен код
Решение задачи: «Как написать код программы, которая переводит с 10-чной в 2-чную систему счисления»
textual
Листинг программы
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 0, b = 0;
int kol = 0;
printf("Vvedite 4islo " "\n");
scanf("%d", &a);
b = a;
while (b)
{
b /= 2;
kol++;
}
int c[kol];
for (int i=0; i < kol; i++)
{
if ( (a % 2 ) == 0 ) c[i] = 0;
else c[i] = 1;
a /= 2;
}
for (int i=kol-1; i >= 0; i--) printf("%d", c[i]);
printf("\n");
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных
- Объявление переменных: a, b, kol
- Вывод сообщения с просьбой ввести число
- Считывание числа с помощью функции scanf в переменную a
- Переменная b инициализируется значением переменной a
- Запуск цикла while, который будет выполняться до тех пор, пока число b не станет равным нулю
- Деление числа b на 2 и обновление значения переменной kol
- Создание массива c, который будет хранить результаты преобразования числа
- Запуск цикла for для заполнения массива c значениями
- Проверка, является ли a четным числом (остаток от деления на 2 равен нулю)
- Если условие выполняется, то в массив c записывается 0, иначе 1
- Деление a на 2
- Вывод массива c с помощью цикла for, который начинается с индекса kol-1 и идет до нуля
- Возврат 0, что означает успешное завершение программы