Conversió de binari a decimal en C++

Conversio De Binari A Decimal En C



En l'article, veurem la conversió de valors binaris a valors decimals en un programa C++. El nombre binari es representa amb els dígits 0 i 1, mentre que els valors decimals contenen els dígits que oscil·len entre 0 i 9. Per aconseguir una conversió de binari a decimal, el valor binari s'ha de multiplicar per 2 a la potència de ' n' començant per la dreta i avançant cap a l'esquerra amb una 'n' més alta. Implementem-ho al codi per transformar un valor binari en decimal.

Exemple 1: Programa de binari a decimal utilitzant el bucle 'While'.

Tenim el següent programa per convertir el nombre de binari a decimal. Dins del programa, utilitzem el bucle 'while' per a la conversió binària a decimal.

#inclou
#inclou

utilitzant espai de noms std ;

int conversionOfBin ( llarg llarg ) ;

int principal ( ) {
llarg llarg en una ;
cout << 'Número binari obligatori:' ;
menjant >> en una ;
cout << en una << ' en binari = ' << conversionOfBin ( en una ) << 'en decimal' ;
tornar 0 ;
}

int conversionOfBin ( llarg llarg en una ) {
int tan = 0 , x = 0 , resta ;

mentre ( en una ! = 0 ) {
resta = en una % 10 ;
en una / = 10 ;
des + = resta * pow ( 2 , x ) ;
++ x ;
}

tornar tan ;
}

Aquí, definim el fitxer de capçalera 'iostream' per als fluxos d'entrada i sortida i el 'cmath' per utilitzar la funció matemàtica al programa. Després d'això, definim la funció ConversionOfBin() on es passa el paràmetre de tipus 'long long'. A continuació, tenim una crida a la funció main() per executar el programa. Declaram una variable llarga entre tipus anomenada 'num' dins de la funció main().







Després d'això, la funció ConversionOfBin() converteix el nombre binari d'entrada en el nombre decimal. Per a això, tenim la definició de la funció ConversionOfBin() després del codi del controlador. La funció ConversionOfBin() es passa amb la variable 'num' que té el número binari. Aleshores, anomenem el bucle 'while' per transformar el nombre binari en 'num' a un valor decimal. Abans d'això, inicialitzem les variables 'deci', 'x' i 'resta' amb el valor de '0'.



Dins del bucle 'while', l'operació de divisió es realitza per representar el valor més a la dreta del nombre binari. Els resultats de la divisió s'emmagatzemen a la variable 'restant'. A continuació, afegim els resultats de la resta i els resultats de la potència a la variable 'deci'. La variable 'x' continua avaluant la potència activa de 2.



Els resultats de la conversió dels nombres binaris especificats a valors decimals s'aconsegueixen a la consola C++:





Exemple 2: Programa de binari a decimal utilitzant el bucle 'For'.

La transformació de binari a decimal es va aconseguir mitjançant un bucle 'while'. Tanmateix, també podem utilitzar el mètode de bucle 'for' per transformar els bits binaris en el nombre decimal.



#inclou
#inclou

int principal ( ) {
std :: corda paperera ;
std :: cout << 'Introdueix el número binari:' ;
std :: menjant >> paperera ;

int des = 0 ;
int baseIs = 1 ;

per ( int a = paperera. llargada ( ) - 1 ; a >= 0 ; a -- ) {
si ( paperera [ a ] == '1' ) {
des + = baseIs ;
}
baseIs * = 2 ;
}

std :: cout << 'Resultats en decimal:' << des << std :: endl ;

tornar 0 ;
}

Aquí, comencem amb el programa de funció main() on tenim la variable 'std::string' que és 'bin' per emmagatzemar el número binari introduït per l'usuari a l'indicador. Inicialment, l'indicador demanarà a l'usuari que introdueixi el número binari mitjançant la declaració 'cout'. Aleshores, l'ordre 'cin' llegirà aquest nombre binari. Després d'això, inicialitzem la variable 'dec' amb el valor de '0' i la variable 'baseIs' amb el valor de '1' per obtenir l'equivalent decimal.

Aleshores, anomenem un bucle 'for' que fa un bucle sobre cada número del binari especificat de dreta a esquerra. Dins del bucle, tenim una condició 'if' per verificar si el nombre binari és 1. Si és 1, el valor decimal s'afegeix a la variable 'dec'. La variable 'baseIs' té la potència de 2 per ser multiplicada per 1 a cada iteració.

El valor del nombre binari i la seva conversió al valor decimal es mostra a la pantalla de sol·licitud:

Exemple 3: Programa de cadena binària a decimal

Ara es defineix el valor de la cadena binària per convertir el seu valor en el valor decimal. Es fa la següent implementació per transformar el valor de la cadena binària en un valor decimal:

#inclou
#inclou
utilitzant espai de noms std ;

int binToDec ( corda val )
{
valor de cadena = val ;
int valor_decimal = 0 ;

int valor_base = 1 ;

int només = valor. llargada ( ) ;
per ( int m = només - 1 ; m >= 0 ; m -- ) {
si ( val [ m ] == '1' )
valor_decimal + = valor_base ;
valor_base = valor_base * 2 ;
}

tornar valor_decimal ;
}

int principal ( )
{
corda val = '11100101' ;
cout << binToDec ( val ) << endl ;
}

Aquí, comencem amb la creació d'una funció BinToDec() per a la conversió de dígits binaris en valors decimals. La funció BinToDec() pren l'argument 'val' del tipus de cadena. Dins de la funció BinToDec(), inicialitzem la variable 'valor' amb la variable 'val' que representa que el valor de la variable 'val' s'emmagatzemarà a la variable 'valor'. Aleshores, declarem una nova variable, 'decimal_value', que s'assigna amb un valor de 0.

De la mateixa manera, la variable “base_value” s'estableix i s'inicia amb el valor 1. A continuació, definim la variable “len” on es crida la funció length() per obtenir la longitud del nombre binari. Després de la inicialització de la variable, tenim la iteració del bucle 'for'. El bucle 'for' itera tots els dígits binaris de dreta a esquerra.

Després d'això, tenim una funció main() on el nombre binari s'especifica com a valor de cadena a la variable 'val' que es converteix en el valor decimal tal com anomenem la funció BinToDec(val) amb l'ordre 'cout'.

El valor binari de tipus cadena es converteix ara en el valor decimal tal com es mostra a continuació:

Exemple 4: Programa de binari a decimal utilitzant la classe Bitset

A més, podem convertir el nombre binari en el nombre decimal definint la classe 'bitset' de C++ al programa. Proporciona les funcions mitjançant les quals el procediment de conversió és molt senzill.

#inclou
#inclou

int principal ( ) {
std :: corda binaryIs ;
std :: cout << 'Si us plau, proporcioneu un número binari:' ;
std :: menjant >> binaryIs ;

std :: conjunt de bits < 64 > binari ( binaryIs ) ;
sense signar llarg decimalNumber = binari. massa llarg ( ) ;

std :: cout << 'Número decimal:' << decimalNumber << std :: endl ;

tornar 0 ;
}

Aquí, establim la biblioteca 'bitset' de C++ a la capçalera, que és molt útil quan es treballa amb valors binaris. Després d'això, tenim una definició de funció main() on fem servir la 'std::string' per declarar la variable 'binaryIs'. La variable 'binaryIs' emmagatzema el valor de binary a la cadena. A continuació, demanem a l'usuari que afegeixi el número binari a la sol·licitud de l'usuari i es llegeix mitjançant l'ordre 'cin'. Després d'això, ajustem la mida dels bits que poden ser de 64 bits enters. Aleshores, la funció to_ulong() s'anomena des de la classe 'bitset' a la variable 'decimalNumber'. La funció to_ulong() converteix el conjunt de bits en un tipus de dades llarg sense signar. Finalment, utilitzem l'ordre 'cout' per imprimir el valor decimal del valor binari que ens dóna l'usuari.

El valor binari proporcionat per l'usuari es converteix ara en el valor decimal:

Conclusió

En conclusió, vam tractar els mètodes per convertir un valor binari a un valor decimal. Hem utilitzat el bucle 'for', el bucle 'while' i els enfocaments de classe de bits per a la conversió binària a decimal. Aquests enfocaments transformen els nombres binaris en sistemes decimals que facilita la lectura i la comprensió.