Перевод из десятичной системы исчесления в двоичную - C (СИ)
Формулировка задачи:
Помогите разобраться в чем ошибка. Вот попробывал сделать что то типо для перевода из десятиричной системы исчесления, в двоичную вот код Но ругаеться почему то на функцию "getch();"
ошибка-" ' getch' undeclared (first use this function)-почему ругаеться, подскажите, и еще правилньо ли я использовал операцию взятие остатка и записывая его в отдельную переменную, просто так и не нашел нормального описания про этот операнда
#include <stdio.h>
#include <conip.h>
main()
{
int b=2,c,i;
printf("vvedite 4islo");
scanf ("&d",&i);
while (i>0)
{ i=i/b;
c=i%b;
printf("%3d",c);
}
getch();
}Решение задачи: «Перевод из десятичной системы исчесления в двоичную»
textual
Листинг программы
#include <stdio.h>
#include <limits.h>
/* размер переменной типа int в битах */
#define INT_BIT ( CHAR_BIT * sizeof(int) )
int main(void) {
unsigned n;
while ( printf("Number: ") && scanf("%u", &n) == 1 ) {
/* буфер для хранения цифр в виде символов + 1 символ для терминального нуля */
char buf[INT_BIT + 1] = { 0 };
int i;
for ( i = INT_BIT - 1; i >= 0; --i ) {
buf[i] = n % 2 + '0';
n /= 2;
}
printf("Binary form: %s\n", buf);
}
return 0;
}
Объяснение кода листинга программы
- Программа переводит десятичное число в двоичную систему счисления.
- В начале программы подключаются две заголовочные библиотеки: stdio.h и limits.h.
- Далее, с помощью макроса INT_BIT, определяется размер переменной типа int в битах.
- Затем, в функции main(), объявляется переменная типа unsigned int с именем n для хранения числа, введенного пользователем.
- Далее, в цикле while, программа запрашивает у пользователя ввод числа и сохраняет его в переменной n.
- Внутри цикла, создается буфер buf для хранения цифр числа в виде символов, включая терминальный ноль.
- Затем, в цикле for, происходит перевод числа в двоичную систему счисления.
- В каждой итерации цикла, остаток от деления числа на 2 сохраняется в буфере buf как символ от '0' до '9', а число делится на 2.
- После окончания цикла, в буфере buf хранится двоичное представление числа.
- Наконец, с помощью функции printf(), на экран выводится двоичное представление числа.
- В конце программы, возвращается 0, что означает успешный конец работы программы.