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