Преобразование двоичных чисел в десятичные в C++

Preobrazovanie Dvoicnyh Cisel V Desaticnye V C



В статье мы увидим преобразование двоичных значений в десятичные в программе на языке C++. Двоичное число представлено цифрами 0 и 1, тогда как десятичные значения содержат цифры в диапазоне от 0 до 9. Чтобы выполнить преобразование двоичного числа в десятичное, двоичное значение следует умножить на 2, возведенное в степень « n», начиная справа и двигаясь влево с более высоким «n». Давайте реализуем это в коде для преобразования двоичного значения в десятичное.

Пример 1. Программа преобразования двоичных чисел в десятичные с использованием цикла «пока»

У нас есть следующая программа для преобразования числа из двоичного в десятичное. В программе мы используем цикл «пока» для преобразования двоичного числа в десятичное.

#include
#include

с использованием пространство имен стандартный ;

интервал преобразованиеOfBin ( длинный длинный ) ;

интервал основной ( ) {
длинный длинный на одной ;
расчет << «Требуется двоичное число: » ;
принимать пищу >> на одной ;
расчет << на одной << 'в двоичном формате =' << преобразованиеOfBin ( на одной ) << 'в десятичном формате' ;
возвращаться 0 ;
}

интервал преобразованиеOfBin ( длинный длинный на одной ) {
интервал так '=' 0 , Икс '=' 0 , остаток ;

пока ( на одной ! '=' 0 ) {
остаток '=' на одной % 10 ;
на одной / '=' 10 ;
декабрь + '=' остаток * бах ( 2 , Икс ) ;
++ Икс ;
}

возвращаться так ;
}

Здесь мы определяем заголовочный файл «iostream» для входных и выходных потоков и «cmath» для использования математической функции в программе. После этого мы определяем функцию ConversionOfBin(), в которую передается параметр типа long long. Далее у нас есть вызов функции main() для выполнения программы. Мы объявляем длинную переменную типа inter, называемую «num», внутри функции main().







После этого функция ConversionOfBin() преобразует входное двоичное число в десятичное. Для этого у нас есть определение функции ConversionOfBin() после кода драйвера. Функция ConversionOfBin() передается с переменной «num», которая имеет двоичное число. Затем мы вызываем цикл «пока», чтобы преобразовать двоичное число «num» в десятичное значение. Перед этим мы инициализируем переменные «deci», «x» и «remainder» значением «0».



В цикле while операция деления выполняется для представления крайнего правого значения двоичного числа. Результаты деления сохраняются в переменной «остаток». Затем мы добавляем результаты остатка и степени в переменную «деци». Переменная «x» продолжает оценивать активную мощность 2.



Результаты преобразования указанных двоичных чисел в десятичные значения достигаются в консоли C++:





Пример 2. Программа преобразования двоичных чисел в десятичные с использованием цикла «For».

Преобразование из двоичного числа в десятичное осуществлялось с помощью цикла while. Однако мы также можем использовать метод цикла «for» для преобразования двоичных битов в десятичное число.



#include
#include <строка>

интервал основной ( ) {
стандартный :: нить мусорное ведро ;
стандартный :: расчет << «Введите двоичное число: » ;
стандартный :: принимать пищу >> мусорное ведро ;

интервал декабрь '=' 0 ;
интервал базаIs '=' 1 ;

для ( интервал а '=' мусорное ведро. длина ( ) - 1 ; а >= 0 ; а -- ) {
если ( мусорное ведро [ а ] == '1' ) {
декабрь + '=' базаIs ;
}
базаIs * '=' 2 ;
}

стандартный :: расчет << 'Результаты в десятичном формате: ' << декабрь << стандартный :: конец ;

возвращаться 0 ;
}

Здесь мы начинаем с программы-функции main(), где у нас есть переменная «std::string», то есть «bin», для хранения двоичного числа, введенного пользователем в командной строке. Первоначально в приглашении пользователю будет предложено ввести двоичное число с помощью оператора «cout». Затем команда «cin» прочитает это двоичное число. После этого мы инициализируем переменную «dec» значением «0» и переменную «baseIs» значением «1», чтобы получить десятичный эквивалент.

Затем мы вызываем цикл for, который перебирает каждое число указанного двоичного файла справа налево. Внутри цикла у нас есть условие «if», проверяющее, равно ли двоичное число 1. Если оно равно 1, десятичное значение добавляется к переменной «dec». Переменная «baseIs» имеет степень 2, которую можно умножать на 1 на каждой итерации.

Значение двоичного числа и его преобразование в десятичное значение отображается на экране подсказки:

Пример 3: Программа преобразования двоичной строки в десятичную

Значение двоичной строки теперь определено для преобразования его значения в десятичное значение. Следующая реализация предназначена для преобразования значения двоичной строки в десятичное значение:

#include
#include <строка>
с использованием пространство имен стандартный ;

интервал бинТодек ( строковое значение )
{
строковое значение '=' вал ;
интервал десятичное_значение '=' 0 ;

интервал базовое_значение '=' 1 ;

интервал только '=' ценить. длина ( ) ;
для ( интервал м '=' только - 1 ; м >= 0 ; м -- ) {
если ( вал [ м ] == '1' )
десятичное_значение + '=' базовое_значение ;
базовое_значение '=' базовое_значение * 2 ;
}

возвращаться десятичное_значение ;
}

интервал основной ( )
{
строковое значение '=' '11100101' ;
расчет << бинТодек ( вал ) << конец ;
}

Здесь мы начнем с создания функции BinToDec() для преобразования двоичных цифр в десятичные значения. Функция BinToDec() принимает аргумент «val» строкового типа. В функции BinToDec() мы инициализируем переменную «value» переменной «val», которая означает, что значение переменной «val» будет сохранено в переменной «value». Затем мы объявляем новую переменную «decimal_value», которой присваивается значение 0.

Аналогично, переменная «base_value» устанавливается и инициализируется значением 1. Затем мы определяем переменную «len», в которой вызывается функция length() для получения длины двоичного числа. После инициализации переменной нас ждет итерация цикла «for». Цикл for перебирает каждую цифру двоичного числа справа налево.

После этого у нас есть функция main(), в которой двоичное число указывается как строковое значение переменной «val», которое преобразуется в десятичное значение, когда мы вызываем функцию BinToDec(val) с помощью команды «cout».

Двоичное значение строкового типа теперь преобразуется в десятичное значение, как показано ниже:

Пример 4: Программа преобразования двоичных чисел в десятичные с использованием класса Bitset

Кроме того, мы можем преобразовать двоичное число в десятичное, определив в программе класс «bitset» C++. Он предоставляет функции, благодаря которым процедура преобразования очень проста.

#include
#include <набор битов>

интервал основной ( ) {
стандартный :: нить двоичныйIs ;
стандартный :: расчет << 'Пожалуйста, укажите двоичное число: ' ;
стандартный :: принимать пищу >> двоичныйIs ;

стандартный :: набор битов < 64 > двоичный ( двоичныйIs ) ;
без подписи длинный десятичное число '=' двоичный. слишком долго ( ) ;

стандартный :: расчет << 'Десятичное число: ' << десятичное число << стандартный :: конец ;

возвращаться 0 ;
}

Здесь мы устанавливаем в заголовок библиотеку «bitset» C++, которая очень полезна при работе с двоичными значениями. После этого у нас есть определение функции main(), в которой мы используем «std::string» для объявления переменной «binaryIs». Переменная «binaryIs» хранит двоичное значение в строке. Затем мы просим пользователя добавить двоичное число в приглашение пользователя, и оно считывается с помощью команды «cin». После этого мы настраиваем размер битов, который может быть 64-битным целым числом. Затем функция to_ulong() вызывается из класса «bitset» в переменную «decimalNumber». Функция to_ulong() преобразует набор битов в беззнаковый тип данных long. Наконец, мы используем команду «cout» для печати десятичного значения двоичного значения, заданного пользователем.

Двоичное значение, предоставленное пользователем, теперь преобразуется в десятичное значение:

Заключение

В заключение мы рассмотрели методы преобразования двоичного значения в десятичное. Мы использовали цикл for, цикл while и подходы класса bitset для преобразования двоичного числа в десятичное. Эти подходы преобразуют двоичные числа в десятичные системы, что облегчает чтение и понимание.