Преобразование восьмиразрядного двоичного числа в десятичное - 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;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими вычислениями.
- Определение функции convertBinaryToDecimal, которая преобразует двоичное число в десятичное.
- Ввод числа в двоичной системе счисления с помощью функции scanf.
- Вызов функции convertBinaryToDecimal с переданным ей числом.
- Вывод десятичного числа, полученного в результате преобразования, с помощью функции printf.
- Возврат 0, означающий успешный конец работы программы.
- Переменная decimalNumber инициализируется нулем и используется для хранения десятичного числа.
- Переменная i инициализируется нулем и используется для хранения степени числа 2, которую необходимо применить к остатку от деления.
- Цикл while выполняется до тех пор, пока число n не станет равным нулю.
- В каждой итерации цикла остаток от деления n на 10 сохраняется в переменной remainder.
- Число n делится на 10 с помощью оператора деления /=.
- К полученному остатку от деления прибавляется произведение остатка от деления на 2 в степени i, т.е. n % 10 * pow(2, i).
- Значение i увеличивается на 1.
- После окончания цикла while, функция возвращает полученное десятичное число.
- Возврат 0, означающий успешный конец работы функции convertBinaryToDecimal.
- Вторая строка комментария содержит название и значение переменной
decimalNumber
. - Третья строка комментария содержит название и значение переменной
i
. - Четвертая строка комментария содержит название и значение переменной
remainder
. - Пятая строка комментария содержит название и значение переменной
n
. - Шестая строка комментария содержит название и значение переменной
pow
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д