Разработать конвертер перевода из десятичной системы счисления в восьмиричную и двоичную - C (СИ)
Формулировка задачи:
Здравствуйте .Помогите пожалуйста написать программу перевода Десятичной СС в другие системы
Решение задачи: «Разработать конвертер перевода из десятичной системы счисления в восьмиричную и двоичную»
textual
Листинг программы
- #include <stdio.h>
- int whole(int number, int Q)
- {
- int temp = 0;
- int X = 1;
- while (number != 0)
- {
- temp = temp + (number % Q) * X;
- X *= 10;
- number /= Q;
- }
- return temp;
- }
- double fract(float number, int Q, int N)
- {
- int temp_whole = 0;
- float temp_fract = number - (int) number;
- int temp_sum;
- int st = 1;
- while(N)
- {
- temp_fract *= Q;
- temp_sum = temp_fract;
- temp_whole = temp_whole * 10 + temp_sum;
- temp_fract = temp_fract - temp_sum;
- st *= 10;
- N--;
- }
- temp_fract = temp_whole;
- temp_fract /= st;
- return temp_fract;
- }
- int main()
- {
- float number;
- int Q;
- printf("Enter a number - ");
- scanf("%f",&number);
- printf("Enter the new scale of notation - ");
- scanf("%d",&Q);
- int N = 6;
- int whole_part;
- double fract_part;
- whole_part = whole(number,Q);
- fract_part = fract(number,Q,N);
- fract_part = whole_part + fract_part;
- printf("%f\n",fract_part);
- }
Объяснение кода листинга программы
- include
— подключаем стандартную библиотеку ввода/вывода - int whole(int number, int Q) — объявляем функцию перевода из десятичной системы счисления в восьмиричную и двоичную
- int main() — объявляем основную функцию программы
- float number; — объявляем переменную для ввода числа
- int Q; — объявляем переменную для ввода новой шкалы значений
- printf(
Enter a number -
); — выводим приглашение для ввода числа - scanf(
%f
,&number); — считываем введенное число - printf(
Enter the new scale of notation -
); — выводим приглашение для ввода новой шкалы значений - scanf(
%d
,&Q); — считываем новую шкалу значений - int N = 6; — объявляем переменную для количества знаков после запятой
- int whole_part; — объявляем переменную для целой части числа
- double fract_part; — объявляем переменную для дробной части числа
- whole_part = whole(number,Q); — вызываем функцию перевода целой части числа
- fract_part = fract(number,Q,N); — вызываем функцию перевода дробной части числа
- fract_part = whole_part + fract_part; — суммируем целую и дробную части числа
- printf(
%f\n
,fract_part); — выводим результат на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д