Преобразование восьмиразрядного двоичного числа в десятичное - C (СИ)

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

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

Написать программу, которая преобразует введенное с клавиатуры восьмиразрядное двоичное число в десятичное. Помогите пожалуйста

Решение задачи: «Преобразование восьмиразрядного двоичного числа в десятичное»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3. int convertBinaryToDecimal(long long n);
  4.  
  5. int main()
  6. {
  7.     long long n;
  8.     printf("Enter a binary number: ");
  9.     scanf("%lld", &n);
  10.     printf("%lld in binary = %d in decimal", n, convertBinaryToDecimal(n));
  11.     return 0;
  12. }
  13.  
  14. int convertBinaryToDecimal(long long n)
  15. {
  16.     int decimalNumber = 0, i = 0, remainder;
  17.     while (n!=0)
  18.     {
  19.         remainder = n%10;
  20.         n /= 10;
  21.         decimalNumber += remainder*pow(2,i);
  22.         ++i;
  23.     }
  24.     return decimalNumber;
  25. }

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

  1. Подключение необходимых библиотек для работы с файлами и математическими вычислениями.
  2. Определение функции convertBinaryToDecimal, которая преобразует двоичное число в десятичное.
  3. Ввод числа в двоичной системе счисления с помощью функции scanf.
  4. Вызов функции convertBinaryToDecimal с переданным ей числом.
  5. Вывод десятичного числа, полученного в результате преобразования, с помощью функции printf.
  6. Возврат 0, означающий успешный конец работы программы.
  7. Переменная decimalNumber инициализируется нулем и используется для хранения десятичного числа.
  8. Переменная i инициализируется нулем и используется для хранения степени числа 2, которую необходимо применить к остатку от деления.
  9. Цикл while выполняется до тех пор, пока число n не станет равным нулю.
  10. В каждой итерации цикла остаток от деления n на 10 сохраняется в переменной remainder.
  11. Число n делится на 10 с помощью оператора деления /=.
  12. К полученному остатку от деления прибавляется произведение остатка от деления на 2 в степени i, т.е. n % 10 * pow(2, i).
  13. Значение i увеличивается на 1.
  14. После окончания цикла while, функция возвращает полученное десятичное число.
  15. Возврат 0, означающий успешный конец работы функции convertBinaryToDecimal.
  16. Вторая строка комментария содержит название и значение переменной decimalNumber.
  17. Третья строка комментария содержит название и значение переменной i.
  18. Четвертая строка комментария содержит название и значение переменной remainder.
  19. Пятая строка комментария содержит название и значение переменной n.
  20. Шестая строка комментария содержит название и значение переменной pow.

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


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

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

15   голосов , оценка 4 из 5

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

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

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