Binárny prevod na desiatkové v C++

Binarny Prevod Na Desiatkove V C



V článku uvidíme prevod binárnych hodnôt na desiatkové hodnoty v programe C++. Binárne číslo je reprezentované číslicami 0 a 1, zatiaľ čo desiatkové hodnoty obsahujú číslice v rozsahu od 0 do 9. Na vykonanie prevodu z binárneho na desiatkové číslo by sa binárna hodnota mala vynásobiť 2 umocnenou „ n“ začínajúce sprava a pohybujúce sa doľava s vyšším „n“. Implementujme to do kódu, aby sme premenili binárnu hodnotu na desatinnú hodnotu.

Príklad 1: Program z binárneho na desiatkové číslo pomocou slučky „While“.

Máme nasledujúci program na prevod čísla z binárneho na desiatkové. V rámci programu využívame cyklus „while“ na binárny prevod na desiatkové.

#include
#include

použitím menný priestor std ;

int conversionOfBin ( dlhý dlhý ) ;

int Hlavná ( ) {
dlhý dlhý na jeden ;
cout << 'Vyžaduje sa binárne číslo: ' ;
jedenie >> na jeden ;
cout << na jeden << 'v binárnom = ' << conversionOfBin ( na jeden ) << 'v desiatkovej sústave' ;
vrátiť 0 ;
}

int conversionOfBin ( dlhý dlhý na jeden ) {
int tak = 0 , X = 0 , zvyšok ;

zatiaľ čo ( na jeden ! = 0 ) {
zvyšok = na jeden % 10 ;
na jeden / = 10 ;
dec + = zvyšok * pow ( 2 , X ) ;
++ X ;
}

vrátiť tak ;
}

Tu definujeme hlavičkový súbor „iostream“ pre vstupné a výstupné prúdy a „cmath“ na využitie matematickej funkcie v programe. Potom definujeme funkciu ConversionOfBin(), kde sa odovzdáva parameter typu „long long“. Ďalej máme volanie funkcie main() na spustenie programu. Vo funkcii main() deklarujeme premennú typu long inter s názvom „num“.







Potom funkcia ConversionOfBin() skonvertuje vstupné binárne číslo na desiatkové číslo. Na tento účel máme za kódom ovládača definíciu funkcie ConversionOfBin(). Funkcia ConversionOfBin() sa odovzdáva s premennou „num“, ktorá má binárne číslo. Potom zavoláme cyklus „while“, aby sme premenili binárne číslo v „num“ na desiatkovú hodnotu. Predtým inicializujeme premenné „deci“, „x“ a „remainder“ s hodnotou „0“.



V rámci cyklu „while“ sa operácia delenia vykonáva tak, aby predstavovala hodnotu binárneho čísla úplne vpravo. Výsledky delenia sú uložené v premennej „remainder“. Potom do premennej „deci“ pripočítame výsledky zvyšku a výsledky výkonu. Premenná „x“ stále vyhodnocuje aktívny výkon 2.



Výsledky prevodu zadaných binárnych čísel na desiatkové hodnoty sa dosahujú v konzole C++:





Príklad 2: Program z binárneho na desiatkové s použitím slučky „For“.

Transformácia z binárneho na desiatkové bola vykonaná pomocou cyklu „while“. Na transformáciu binárnych bitov na desiatkové číslo však môžeme použiť aj metódu cyklu „for“.



#include
#include

int Hlavná ( ) {
std :: reťazec kôš ;
std :: cout << 'Vstupné binárne číslo: ' ;
std :: jedenie >> kôš ;

int dec = 0 ;
int baseIs = 1 ;

pre ( int a = kôš. dĺžka ( ) - 1 ; a >= 0 ; a -- ) {
ak ( kôš [ a ] == '1' ) {
dec + = baseIs ;
}
baseIs * = 2 ;
}

std :: cout << 'Výsledky v desiatkovej sústave: ' << dec << std :: endl ;

vrátiť 0 ;
}

Tu začneme s programom funkcie main(), kde máme premennú „std::string“, ktorá je „bin“ na uloženie binárneho čísla zadaného používateľom do výzvy. Na začiatku výzva požiada používateľa, aby vložil binárne číslo pomocou príkazu „cout“. Potom príkaz „cin“ prečíta toto binárne číslo. Potom inicializujeme premennú „dec“ s hodnotou „0“ a premennú „baseIs“ s hodnotou „1“, aby sme získali desatinný ekvivalent.

Potom zavoláme slučku „for“, ktorá prechádza cez každé číslo špecifikovanej binárnej sústavy sprava doľava. V rámci cyklu máme podmienku „if“ na overenie, či je binárne číslo 1. Ak je 1, do premennej „dec“ sa pripočíta desiatková hodnota. Premenná „baseIs“ má mocninu 2, ktorú treba vynásobiť 1 pri každej iterácii.

Hodnota binárneho čísla a jeho prevod na desiatkovú hodnotu sa zobrazí na obrazovke výzvy:

Príklad 3: Program binárneho reťazca na desatinné číslo

Hodnota binárneho reťazca je teraz definovaná na prevod jej hodnoty na desiatkovú hodnotu. Nasledujúca implementácia sa vykonáva na transformáciu hodnoty binárneho reťazca na desiatkovú hodnotu:

#include
#include
použitím menný priestor std ;

int binToDec ( reťazec val )
{
hodnota reťazca = val ;
int desiatková_hodnota = 0 ;

int základná_hodnota = 1 ;

int len = hodnotu. dĺžka ( ) ;
pre ( int m = len - 1 ; m >= 0 ; m -- ) {
ak ( val [ m ] == '1' )
desiatková_hodnota + = základná_hodnota ;
základná_hodnota = základná_hodnota * 2 ;
}

vrátiť desiatková_hodnota ;
}

int Hlavná ( )
{
reťazec val = '11100101' ;
cout << binToDec ( val ) << endl ;
}

Tu začneme vytvorením funkcie BinToDec() na prevod binárnych číslic na desiatkové hodnoty. Funkcia BinToDec() preberá argument typu reťazec „val“. V rámci funkcie BinToDec() inicializujeme premennú „value“ premennou „val“, ktorá predstavuje, že hodnota premennej „val“ bude uložená v premennej „value“. Potom deklarujeme novú premennú „decimal_value“, ktorej je priradená hodnota 0.

Podobne je nastavená a inicializovaná premenná „base_value“ s hodnotou 1. Ďalej definujeme premennú „len“, kde sa volá funkcia length() na získanie dĺžky binárneho čísla. Po inicializácii premennej máme iteráciu cyklu „for“. Cyklus „for“ iteruje každú číslicu binárneho čísla sprava doľava.

Potom máme funkciu main(), kde je binárne číslo zadané ako reťazcová hodnota do premennej „val“, ktorá sa prevedie na desiatkovú hodnotu, keď zavoláme funkciu BinToDec(val) príkazom „cout“.

Binárna hodnota typu reťazca sa teraz skonvertuje na desiatkovú hodnotu, ako je zobrazené v nasledujúcom texte:

Príklad 4: Program z binárneho na desiatkové s použitím triedy bitovej množiny

Okrem toho môžeme previesť binárne číslo na desiatkové číslo definovaním triedy „bitset“ jazyka C++ v programe. Poskytuje funkcie, prostredníctvom ktorých je postup prevodu veľmi jednoduchý.

#include
#include

int Hlavná ( ) {
std :: reťazec binárne je ;
std :: cout << 'Uveďte binárne číslo: ' ;
std :: jedenie >> binárne je ;

std :: bitset < 64 > binárne ( binárne je ) ;
nepodpísané dlhý desatinné číslo = binárne. príliš dlho ( ) ;

std :: cout << 'Desatinné číslo: ' << desatinné číslo << std :: endl ;

vrátiť 0 ;
}

Tu sme v hlavičke nastavili knižnicu „bitset“ C++, ktorá je veľmi užitočná pri práci s binárnymi hodnotami. Potom máme definíciu funkcie main(), kde používame „std::string“ na deklarovanie premennej „binaryIs“. Premenná „binaryIs“ ukladá do reťazca hodnotu binárneho kódu. Ďalej požiadame používateľa, aby pridal binárne číslo do výzvy používateľom a načíta sa pomocou príkazu „cin“. Potom upravíme veľkosť bitov, ktoré môžu byť 64 bitové celé číslo. Potom sa funkcia to_ulong() zavolá z triedy „bitset“ do premennej „decimalNumber“. Funkcia to_ulong() konvertuje množinu bitov na dlhý dátový typ bez znamienka. Nakoniec použijeme príkaz „cout“ na vytlačenie desiatkovej hodnoty binárnej hodnoty zadanej používateľom.

Binárna hodnota poskytnutá používateľom sa teraz prevedie na desiatkovú hodnotu:

Záver

Na záver sme sa venovali metódam prevodu binárnej hodnoty na desiatkovú hodnotu. Na binárnu konverziu na desiatkové číslo sme použili cyklus „for“, cyklus „while“ a prístupy triedy bitset. Tieto prístupy transformujú binárne čísla do desiatkových systémov, čo uľahčuje čítanie a porozumenie.