Перевод из десятичной системы исчесления в двоичную - 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, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д