Binarno u decimalno pretvaranje u C++

Binarno U Decimalno Pretvaranje U C



U članku ćemo vidjeti pretvorbu binarnih vrijednosti u decimalne vrijednosti u C++ programu. Binarni broj predstavljen je znamenkama 0 i 1, dok decimalne vrijednosti sadrže znamenke u rasponu od 0 do 9. Da biste izvršili pretvorbu binarnog u decimalni broj, binarnu vrijednost treba pomnožiti s 2 na potenciju “ n” počevši s desne strane i krećući se lijevo s višim “n”. Implementirajmo ovo u kodu za transformaciju binarne vrijednosti u decimalnu vrijednost.

Primjer 1: Program pretvaranja binarnih u decimalne pomoću petlje 'While'.

Imamo sljedeći program za pretvaranje broja iz binarnog u decimalni. Unutar programa koristimo petlju 'while' za binarnu konverziju u decimalnu.

#include
#include

korištenjem imenski prostor std ;

int conversionOfBin ( dugo dugo ) ;

int glavni ( ) {
dugo dugo na jedan ;
cout << 'Potreban binarni broj: ' ;
jelo >> na jedan ;
cout << na jedan << ' u binarnom = ' << conversionOfBin ( na jedan ) << 'u decimali' ;
povratak 0 ;
}

int conversionOfBin ( dugo dugo na jedan ) {
int tako = 0 , x = 0 , ostatak ;

dok ( na jedan ! = 0 ) {
ostatak = na jedan % 10 ;
na jedan / = 10 ;
dec + = ostatak * pow ( 2 , x ) ;
++ x ;
}

povratak tako ;
}

Ovdje definiramo datoteku zaglavlja 'iostream' za ulazne i izlazne tokove i 'cmath' za korištenje matematičke funkcije u programu. Nakon toga definiramo funkciju ConversionOfBin() kojoj se prosljeđuje parametar tipa “long long”. Zatim imamo poziv funkcije main() za izvršavanje programa. Unutar funkcije main() deklariramo varijablu tipa long inter pod nazivom 'num'.







Nakon toga funkcija ConversionOfBin() pretvara ulazni binarni broj u decimalni broj. Za to imamo definiciju funkcije ConversionOfBin() nakon koda upravljačkog programa. Funkcija ConversionOfBin() prosljeđuje se s varijablom 'num' koja ima binarni broj. Zatim pozivamo petlju 'while' da transformiramo binarni broj u 'num' u decimalnu vrijednost. Prije toga, inicijaliziramo varijable 'deci', 'x' i 'remainder' s vrijednošću '0'.



Unutar petlje 'while', operacija dijeljenja se provodi da bi se predstavila krajnja desna vrijednost binarnog broja. Rezultati dijeljenja pohranjuju se u varijablu 'ostatak'. Zatim zbrajamo rezultate ostatka i potencije u varijablu “deci”. Varijabla 'x' nastavlja procjenjivati ​​aktivnu snagu 2.



Rezultati pretvaranja navedenih binarnih brojeva u decimalne vrijednosti postižu se u C++ konzoli:





Primjer 2: Program pretvaranja binarnih u decimalne pomoću petlje 'Za'.

Transformacija iz binarnog u decimalni je postignuta pomoću 'while' petlje. Međutim, također možemo koristiti metodu petlje 'for' za pretvaranje binarnih bitova u decimalni broj.



#include
#include

int glavni ( ) {
std :: niz kanta za smeće ;
std :: cout << 'Unesi binarni broj: ' ;
std :: jelo >> kanta za smeće ;

int dec = 0 ;
int bazaJe = 1 ;

za ( int a = kanta za smeće. duljina ( ) - 1 ; a >= 0 ; a -- ) {
ako ( kanta za smeće [ a ] == '1' ) {
dec + = bazaJe ;
}
bazaJe * = 2 ;
}

std :: cout << 'Rezultati u decimalnom obliku: ' << dec << std :: endl ;

povratak 0 ;
}

Ovdje počinjemo s programom funkcije main() gdje imamo varijablu 'std::string' koja je 'bin' za pohranjivanje binarnog broja koji je korisnik unio u upit. U početku će upit od korisnika tražiti da unese binarni broj pomoću naredbe 'cout'. Zatim će naredba “cin” pročitati taj binarni broj. Nakon toga inicijaliziramo varijablu “dec” s vrijednošću “0” i varijablu “baseIs” s vrijednošću “1” kako bismo dobili decimalni ekvivalent.

Zatim pozivamo petlju 'za' koja prelazi preko svakog broja navedenog binarnog zapisa s desna na lijevo. Unutar petlje imamo uvjet 'if' za provjeru je li binarni broj 1. Ako je 1, decimalna vrijednost se dodaje varijabli 'dec'. Varijabla 'baseIs' ima snagu 2 da se pomnoži s 1 u svakoj iteraciji.

Vrijednost binarnog broja i njegova konverzija u decimalnu vrijednost prikazana je na zaslonu s upitom:

Primjer 3: Program pretvaranja binarnog niza u decimalni

Vrijednost binarnog niza sada je definirana za pretvaranje svoje vrijednosti u decimalnu vrijednost. Sljedeća implementacija se radi za transformaciju binarne vrijednosti niza u decimalnu vrijednost:

#include
#include
korištenjem imenski prostor std ;

int binToDec ( string val )
{
vrijednost niza = val ;
int decimalna_vrijednost = 0 ;

int osnovna_vrijednost = 1 ;

int samo = vrijednost. duljina ( ) ;
za ( int m = samo - 1 ; m >= 0 ; m -- ) {
ako ( val [ m ] == '1' )
decimalna_vrijednost + = osnovna_vrijednost ;
osnovna_vrijednost = osnovna_vrijednost * 2 ;
}

povratak decimalna_vrijednost ;
}

int glavni ( )
{
string val = '11100101' ;
cout << binToDec ( val ) << endl ;
}

Ovdje počinjemo s izradom funkcije BinToDec() za pretvorbu binarnih znamenki u decimalne vrijednosti. Funkcija BinToDec() uzima argument 'val' vrste niza. Unutar funkcije BinToDec() inicijaliziramo varijablu “value” varijablom “val” koja predstavlja da će vrijednost varijable “val” biti pohranjena u varijabli “value”. Zatim deklariramo novu varijablu, “decimal_value”, kojoj je dodijeljena vrijednost 0.

Slično, varijabla 'base_value' se postavlja i inicijalizira s vrijednošću 1. Zatim definiramo varijablu 'len' gdje se poziva funkcija length() da se dobije duljina binarnog broja. Nakon inicijalizacije varijable, imamo iteraciju “for” petlje. Petlja 'za' ponavlja svaku znamenku binarnog broja s desna na lijevo.

Nakon toga, imamo funkciju main() gdje je binarni broj naveden kao vrijednost niza za varijablu 'val' koja se pretvara u decimalnu vrijednost dok pozivamo funkciju BinToDec(val) s naredbom 'cout'.

Binarna vrijednost tipa niza sada se pretvara u decimalnu vrijednost kao što je prikazano u sljedećem:

Primjer 4: Program pretvaranja binarnih u decimalne pomoću Bitset klase

Osim toga, možemo pretvoriti binarni broj u decimalni broj definiranjem klase 'bitset' C++ u programu. Omogućuje funkcije pomoću kojih je postupak konverzije vrlo jednostavan.

#include
#include

int glavni ( ) {
std :: niz binarniJe ;
std :: cout << 'Navedite binarni broj: ' ;
std :: jelo >> binarniJe ;

std :: bitset < 64 > binarni ( binarniJe ) ;
nepotpisan dugo decimalniBroj = binarni. predugo ( ) ;

std :: cout << 'Decimalni broj: ' << decimalniBroj << std :: endl ;

povratak 0 ;
}

Ovdje postavljamo biblioteku 'bitset' za C++ u zaglavlju što je od velike pomoći pri radu s binarnim vrijednostima. Nakon toga, imamo definiciju funkcije main() gdje koristimo 'std::string' za deklaraciju varijable 'binaryIs'. Varijabla “binaryIs” pohranjuje binarnu vrijednost u nizu. Zatim tražimo od korisnika da doda binarni broj u upit korisnika i on se čita kroz naredbu 'cin'. Nakon toga podešavamo veličinu bitova koji mogu biti 64 bita cijeli broj. Zatim se funkcija to_ulong() poziva iz klase 'bitset' u varijablu 'decimalNumber'. Funkcija to_ulong() pretvara skup bitova u dugi tip podataka bez predznaka. Na kraju, koristimo naredbu “cout” za ispis decimalne vrijednosti binarne vrijednosti koju daje korisnik.

Binarna vrijednost koju daje korisnik sada se pretvara u decimalnu vrijednost:

Zaključak

Zaključno smo pokrili metode pretvaranja binarne vrijednosti u decimalnu vrijednost. Koristili smo petlju 'for', petlju 'while' i pristupe klase bitset za binarnu konverziju u decimalnu. Ovi pristupi pretvaraju binarne brojeve u decimalne sustave što olakšava čitanje i razumijevanje.