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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <math.h>
int convertBinaryToDecimal(long long n);
 
int main()
{
    long long n;
    printf("Enter a binary number: ");
    scanf("%lld", &n);
    printf("%lld in binary = %d in decimal", n, convertBinaryToDecimal(n));
    return 0;
}
 
int convertBinaryToDecimal(long long n)
{
    int decimalNumber = 0, i = 0, remainder;
    while (n!=0)
    {
        remainder = n%10;
        n /= 10;
        decimalNumber += remainder*pow(2,i);
        ++i;
    }
    return decimalNumber;
}

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

  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
Похожие ответы