Двоично към десетично преобразуване в C++

Dvoicno K M Deseticno Preobrazuvane V C



В статията ще видим преобразуването на двоични стойности в десетични стойности в C++ програма. Двоичното число е представено от цифри 0 и 1, докато десетичните стойности съдържат цифри, които варират от 0 до 9. За да се извърши двоично преобразуване в десетично число, двоичната стойност трябва да бъде умножена по 2, повдигната на степен „ n”, като се започне отдясно и се движи наляво с по-високо „n”. Нека внедрим това в кода, за да трансформираме двоична стойност в десетична стойност.

Пример 1: Програма от двоичен към десетичен чрез използване на цикъла „While“.

Имаме следната програма за преобразуване на числото от двоично в десетично. В рамките на програмата използваме цикъла „while“ за двоично преобразуване в десетично.

#include
#include

използвайки пространство от имена std ;

вътр conversionOfBin ( дълго дълго ) ;

вътр основен ( ) {
дълго дълго никой ;
cout << „Изисква се двоично число:“ ;
храня се >> никой ;
cout << никой << ' в двоичен = ' << conversionOfBin ( никой ) << 'в десетичен знак' ;
връщане 0 ;
}

вътр conversionOfBin ( дълго дълго никой ) {
вътр така = 0 , х = 0 , остатък ;

докато ( никой ! = 0 ) {
остатък = никой % 10 ;
никой / = 10 ;
дек + = остатък * пау ( 2 , х ) ;
++ х ;
}

връщане така ;
}

Тук дефинираме заглавния файл „iostream“ за входните и изходните потоци и „cmath“, за да използваме математическата функция в програмата. След това дефинираме функцията ConversionOfBin(), където се предава параметърът от тип „long long“. След това имаме извикване на функция main() за изпълнение на програмата. Ние декларираме дълга променлива тип inter, наречена „num“ във функцията main().







След това функцията ConversionOfBin() преобразува въведеното двоично число в десетично число. За това имаме дефиницията на функцията ConversionOfBin() след кода на драйвера. Функцията ConversionOfBin() се предава с променливата „num“, която има двоичното число. След това извикваме цикъла 'while', за да трансформираме двоичното число в 'num' в десетична стойност. Преди това инициализираме променливите „deci“, „x“ и „remainder“ със стойност „0“.



В рамките на цикъла „while“ операцията за деление се извършва, за да представи най-дясната стойност на двоичното число. Резултатите от деленето се съхраняват в променливата „остатък“. След това добавяме резултатите от остатъка и резултатите от мощността в променливата „deci“. Променливата 'x' продължава да оценява активната мощност на 2.



Резултатите от преобразуването на посочените двоични числа в десетични стойности се постигат в C++ конзолата:





Пример 2: Програма от двоична към десетична с помощта на цикъла „For“.

Трансформацията от двоична към десетична е извършена с помощта на цикъл 'while'. Можем обаче да използваме и метода на цикъла „for“, за да трансформираме двоичните битове в десетично число.



#include
#include <низ>

вътр основен ( ) {
std :: низ кошче ;
std :: cout << 'Въведете двоично число: ' ;
std :: храня се >> кошче ;

вътр дек = 0 ;
вътр основаЕ = 1 ;

за ( вътр а = кошче. дължина ( ) - 1 ; а >= 0 ; а -- ) {
ако ( кошче [ а ] == '1' ) {
дек + = основаЕ ;
}
основаЕ * = 2 ;
}

std :: cout << 'Резултати в десетична система: ' << дек << std :: endl ;

връщане 0 ;
}

Тук започваме с програмата за функция main(), където имаме променливата „std::string“, която е „bin“, за да съхраним двоичното число, въведено от потребителя в подканата. Първоначално подканата ще поиска от потребителя да въведе двоичното число с помощта на оператора „cout“. След това командата 'cin' ще прочете това двоично число. След това инициализираме променливата „dec“ със стойността „0“ и променливата „baseIs“ със стойността „1“, за да получим десетичния еквивалент.

След това извикваме цикъл „за“, който обикаля всяко число от указаната двоична система отдясно наляво. В рамките на цикъла имаме условие „if“, за да проверим дали двоичното число е 1. Ако е 1, десетичната стойност се добавя към променливата „dec“. Променливата „baseIs“ има силата на 2, за да бъде умножена по 1 при всяка итерация.

Стойността на двоичното число и преобразуването му в десетична стойност се показва на екрана с подкана:

Пример 3: Програма на двоичен низ към десетичен

Стойността на двоичния низ вече е дефинирана, за да преобразува стойността си в десетична стойност. Следното изпълнение се прави, за да се преобразува стойността на двоичния низ в десетична стойност:

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

вътр binToDec ( низ вал )
{
низова стойност = вал ;
вътр десетична_стойност = 0 ;

вътр базова_стойност = 1 ;

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

връщане десетична_стойност ;
}

вътр основен ( )
{
низ вал = '11100101' ;
cout << binToDec ( вал ) << endl ;
}

Тук започваме със създаването на функция 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

вътр основен ( ) {
std :: низ binaryIs ;
std :: cout << 'Моля, предоставете двоично число: ' ;
std :: храня се >> binaryIs ;

std :: bitset < 64 > двоичен ( binaryIs ) ;
неподписан дълго десетично число = двоичен. твърде дълго ( ) ;

std :: cout << „Десетично число:“ << десетично число << std :: endl ;

връщане 0 ;
}

Тук задаваме библиотеката „bitset“ на C++ в заглавката, което е много полезно при работа с двоични стойности. След това имаме дефиниция на функция main(), където използваме „std::string“, за да декларираме променливата „binaryIs“. Променливата “binaryIs” съхранява стойността на binary в низа. След това молим потребителя да добави двоичното число в подканата от потребителя и то се чете чрез командата „cin“. След това коригираме размера на битовете, които могат да бъдат 64 бита цяло число. След това функцията to_ulong() се извиква от класа „bitset“ в променливата „decimalNumber“. Функцията to_ulong() преобразува набора от битове в неподписан дълъг тип данни. И накрая, използваме командата “cout”, за да отпечатаме десетичната стойност на двоичната стойност, която е дадена от потребителя.

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

Заключение

В заключение разгледахме методите за преобразуване на двоична стойност в десетична стойност. Използвахме цикъла „for“, цикъла „while“ и подходите на класа bitset за двоичното преобразуване в десетично. Тези подходи трансформират двоичните числа в десетични системи, което улеснява четенето и разбирането.