Разработать конвертер перевода из десятичной системы счисления в восьмиричную и двоичную - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте .Помогите пожалуйста написать программу перевода Десятичной СС в другие системы

Решение задачи: «Разработать конвертер перевода из десятичной системы счисления в восьмиричную и двоичную»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int whole(int number, int Q)
  4. {
  5.     int temp = 0;
  6.     int X = 1;
  7.  
  8.     while (number != 0)
  9.     {
  10.         temp = temp + (number % Q) * X;
  11.         X *= 10;
  12.         number /= Q;
  13.     }
  14.     return temp;
  15. }
  16.  
  17. double fract(float number, int Q, int N)
  18. {
  19.     int temp_whole = 0;
  20.     float temp_fract = number - (int) number;
  21.     int temp_sum;
  22.     int st = 1;
  23.     while(N)
  24.     {
  25.         temp_fract *= Q;
  26.         temp_sum = temp_fract;
  27.         temp_whole = temp_whole * 10 + temp_sum;
  28.         temp_fract = temp_fract - temp_sum;
  29.         st *= 10;
  30.         N--;
  31.     }
  32.     temp_fract = temp_whole;
  33.     temp_fract /= st;
  34.     return temp_fract;
  35. }
  36.  
  37. int main()
  38. {
  39.     float number;
  40.     int Q;
  41.     printf("Enter a number - ");
  42.     scanf("%f",&number);
  43.     printf("Enter the new scale of notation - ");
  44.     scanf("%d",&Q);
  45.     int N = 6;
  46.     int whole_part;
  47.     double fract_part;
  48.     whole_part = whole(number,Q);
  49.     fract_part = fract(number,Q,N);
  50.     fract_part = whole_part + fract_part;
  51.     printf("%f\n",fract_part);
  52. }

Объяснение кода листинга программы

  1. include — подключаем стандартную библиотеку ввода/вывода
  2. int whole(int number, int Q) — объявляем функцию перевода из десятичной системы счисления в восьмиричную и двоичную
  3. int main() — объявляем основную функцию программы
  4. float number; — объявляем переменную для ввода числа
  5. int Q; — объявляем переменную для ввода новой шкалы значений
  6. printf(Enter a number -); — выводим приглашение для ввода числа
  7. scanf(%f,&number); — считываем введенное число
  8. printf(Enter the new scale of notation -); — выводим приглашение для ввода новой шкалы значений
  9. scanf(%d,&Q); — считываем новую шкалу значений
  10. int N = 6; — объявляем переменную для количества знаков после запятой
  11. int whole_part; — объявляем переменную для целой части числа
  12. double fract_part; — объявляем переменную для дробной части числа
  13. whole_part = whole(number,Q); — вызываем функцию перевода целой части числа
  14. fract_part = fract(number,Q,N); — вызываем функцию перевода дробной части числа
  15. fract_part = whole_part + fract_part; — суммируем целую и дробную части числа
  16. printf(%f\n,fract_part); — выводим результат на экран

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы