Eksempel 1: Program for binær til decimal ved hjælp af 'While'-løkken
Vi har et følgende program til at konvertere tallet fra binær til decimal. Inden for programmet bruger vi 'mens'-løkken til den binære konvertering til decimal.
#include#include
ved brug af navneområde std ;
int konverteringOfBin ( lang lang ) ;
int vigtigste ( ) {
lang lang på en ;
cout << 'Binært tal påkrævet:' ;
spise >> på en ;
cout << på en << ' i binær = ' << konverteringOfBin ( på en ) << 'i decimal' ;
Vend tilbage 0 ;
}
int konverteringOfBin ( lang lang på en ) {
int så = 0 , x = 0 , resten ;
mens ( på en ! = 0 ) {
resten = på en % 10 ;
på en / = 10 ;
dec + = resten * pow ( 2 , x ) ;
++ x ;
}
Vend tilbage så ;
}
Her definerer vi 'iostream'-headerfilen for input- og outputstrømmene og 'cmath' for at bruge den matematiske funktion i programmet. Derefter definerer vi ConversionOfBin()-funktionen, hvor parameteren af typen 'long long' sendes. Dernæst har vi et main() funktionskald til at udføre programmet. Vi erklærer en lang inter type variabel kaldet 'num' inde i main() funktionen.
Efter dette konverterer ConversionOfBin()-funktionen det indgående binære tal til decimaltallet. Til dette har vi definitionen af ConversionOfBin()-funktionen efter driverkoden. Funktionen ConversionOfBin() sendes med variablen 'num', som har det binære tal. Derefter kalder vi 'mens'-løkken for at transformere det binære tal i 'num' til en decimalværdi. Før dette initialiserer vi variablerne 'deci', 'x' og 'resten' med værdien '0'.
Inden for 'mens'-løkken udføres divisionsoperationen for at repræsentere værdien længst til højre af det binære tal. Delingsresultaterne gemmes i variablen 'rest'. Derefter tilføjer vi resultaterne af resten og effektresultaterne til 'deci'-variablen. 'x'-variablen bliver ved med at evaluere den aktive effekt af 2.
Resultaterne af konvertering af de angivne binære tal til decimalværdier opnås i C++-konsollen:
Eksempel 2: Program for binær til decimal ved hjælp af 'For'-løkken
Transformationen fra binær til decimal blev udført ved hjælp af en 'mens'-løkke. Men vi kan også bruge 'for'-løkkemetoden til at transformere de binære bits til decimaltallet.
#include
#inkluder
int vigtigste ( ) {
std :: snor beholder ;
std :: cout << 'Indtast binært nummer: ' ;
std :: spise >> beholder ;
int dec = 0 ;
int baseIs = 1 ;
til ( int -en = beholder. længde ( ) - 1 ; -en >= 0 ; -en -- ) {
hvis ( beholder [ -en ] == '1' ) {
dec + = baseIs ;
}
baseIs * = 2 ;
}
std :: cout << 'Resultater i decimaler: ' << dec << std :: endl ;
Vend tilbage 0 ;
}
Her begynder vi med main() funktionsprogrammet, hvor vi har 'std::string'-variablen, som er 'bin' til at gemme det binære tal, som brugeren indtaster i prompten. Indledningsvis vil prompten bede brugeren om at indtaste det binære tal ved hjælp af 'cout'-sætningen. Derefter vil 'cin'-kommandoen læse det binære tal. Derefter initialiserer vi 'dec'-variablen med værdien '0' og 'baseIs'-variablen med værdien '1' for at få decimalækvivalenten.
Derefter kalder vi en 'for'-løkke, som går over hvert nummer i den angivne binære fra højre mod venstre. Inden for løkken har vi en 'hvis'-betingelse for at verificere, om det binære tal er 1. Hvis det er 1, tilføjes decimalværdien til 'dec'-variablen. Variablen 'baseIs' har magten 2, der skal ganges med 1 ved hver iteration.
Værdien af det binære tal og dets konvertering til decimalværdien vises på promptskærmen:
Eksempel 3: Program af binær streng til decimal
Den binære strengværdi er nu defineret til at konvertere dens værdi til decimalværdien. Følgende implementering udføres for at transformere den binære strengværdi til decimalværdi:
#include#inkluder
ved brug af navneområde std ;
int binToDec ( streng val )
{
strengværdi = val ;
int decimal_værdi = 0 ;
int basisværdi = 1 ;
int kun = værdi. længde ( ) ;
til ( int m = kun - 1 ; m >= 0 ; m -- ) {
hvis ( val [ m ] == '1' )
decimal_værdi + = basisværdi ;
basisværdi = basisværdi * 2 ;
}
Vend tilbage decimal_værdi ;
}
int vigtigste ( )
{
streng val = '11100101' ;
cout << binToDec ( val ) << endl ;
}
Her begynder vi med at lave en BinToDec() funktion til konvertering af binære cifre til decimalværdier. BinToDec()-funktionen tager 'val'-argumentet af strengtypen. Inden for BinToDec()-funktionen initialiserer vi 'værdi'-variablen med 'val'-variablen, som repræsenterer, at værdien af 'val'-variablen vil blive gemt i 'værdi'-variablen. Derefter erklærer vi en ny variabel, 'decimal_værdi', som er tildelt en værdi på 0.
På samme måde indstilles 'base_value'-variablen og initialiseres med værdien 1. Dernæst definerer vi variablen 'len', hvor funktionen length() kaldes for at få længden af det binære tal. Efter initialiseringen af variablen har vi 'for' loop-iterationen. 'For'-løkken itererer hvert binært tal ciffer fra højre mod venstre.
Derefter har vi en main()-funktion, hvor det binære tal er angivet som en strengværdi til 'val'-variablen, som konverteres til decimalværdien, som vi kalder BinToDec(val)-funktionen med kommandoen 'cout'.
Den binære værdi af strengtype konverteres nu til decimalværdien som vist i følgende:
Eksempel 4: Program af binær til decimal ved brug af bitsætklassen
Derudover kan vi konvertere det binære tal til decimaltallet ved at definere 'bitset'-klassen for C++ i programmet. Det giver de funktioner, hvorigennem konverteringsproceduren er meget enkel.
#include#include
int vigtigste ( ) {
std :: snor binærIs ;
std :: cout << 'Angiv venligst binært tal: ' ;
std :: spise >> binærIs ;
std :: bitsæt < 64 > binær ( binærIs ) ;
usigneret lang decimaltal = binær. for langt ( ) ;
std :: cout << 'Decimaltal: ' << decimaltal << std :: endl ;
Vend tilbage 0 ;
}
Her indstiller vi 'bitset'-biblioteket i C++ i headeren, hvilket er meget nyttigt, når du arbejder med binære værdier. Efter dette har vi en main() funktionsdefinition, hvor vi bruger 'std::strengen' til at erklære variablen 'binaryIs'. Variablen 'binaryIs' gemmer værdien af binær i strengen. Dernæst beder vi brugeren om at tilføje det binære tal i prompten af brugeren, og det læses gennem kommandoen 'cin'. Herefter justerer vi størrelsen på bits, som kan være 64 bit heltal. Derefter kaldes to_ulong()-funktionen fra 'bitset'-klassen til 'decimalNumber'-variablen. Funktionen to_ulong() konverterer sættet af bits til en lang datatype uden fortegn. Til sidst bruger vi kommandoen 'cout' til at udskrive decimalværdien af den binære værdi, som er givet af brugeren.
Den binære værdi, som brugeren har angivet, konverteres nu til decimalværdien:
Konklusion
Afslutningsvis dækkede vi metoderne til at konvertere en binær værdi til en decimalværdi. Vi brugte 'for'-løkken, 'mens'-løkken og bitset-klassens tilgange til den binære konvertering til decimal. Disse tilgange transformerer de binære tal til decimalsystemer, hvilket letter læsning og forståelse.