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