Binary sa Decimal Conversion sa C++

Binary Sa Decimal Conversion Sa C



Sa artikulo, makikita natin ang conversion ng binary values ​​sa decimal value sa isang C++ program. Ang binary na numero ay kinakatawan ng 0 at 1 digit, samantalang ang mga decimal na halaga ay naglalaman ng mga digit na mula 0 hanggang 9. Upang makamit ang binary-to-decimal na conversion, ang binary na halaga ay dapat i-multiply sa 2 na itinaas sa kapangyarihan ng ' n” simula sa kanan at gumagalaw pakaliwa na may mas mataas na “n”. Ipatupad natin ito sa code upang baguhin ang isang binary sa isang decimal na halaga.

Halimbawa 1: Programa ng Binary hanggang Decimal Gamit ang 'While' Loop

Mayroon kaming sumusunod na programa upang i-convert ang numero mula sa binary patungo sa decimal. Sa loob ng programa, ginagamit namin ang 'habang' loop para sa binary conversion sa decimal.

#include
#include

gamit namespace std ;

int conversionOfBin ( mahaba mahaba ) ;

int pangunahing ( ) {
mahaba mahaba sa isa ;
cout << 'Kinakailangan ang Binary Number: ' ;
kumakain >> sa isa ;
cout << sa isa << 'sa binary =' << conversionOfBin ( sa isa ) << 'sa decimal' ;
bumalik 0 ;
}

int conversionOfBin ( mahaba mahaba sa isa ) {
int kaya = 0 , x = 0 , natitira ;

habang ( sa isa ! = 0 ) {
natitira = sa isa % 10 ;
sa isa / = 10 ;
dec + = natitira * pow ( 2 , x ) ;
++ x ;
}

bumalik kaya ;
}

Dito, tinukoy namin ang 'iostream' na header file para sa input at output stream at ang 'cmath' upang magamit ang mathematical function sa programa. Pagkatapos nito, tinukoy namin ang function na ConversionOfBin() kung saan ipinapasa ang parameter ng uri na 'mahaba. Susunod, mayroon kaming pangunahing() function na tawag upang isagawa ang programa. Nagdedeklara kami ng mahabang inter type na variable na tinatawag na 'num' sa loob ng main() function.







Pagkatapos nito, kino-convert ng function na ConversionOfBin() ang input binary number sa decimal na numero. Para dito, mayroon kaming kahulugan ng ConversionOfBin() function pagkatapos ng driver code. Ang ConversionOfBin() function ay ipinapasa kasama ang 'num' na variable na mayroong binary na numero. Pagkatapos, tinatawagan namin ang loop na 'habang' upang baguhin ang binary na numero sa 'num' sa isang decimal na halaga. Bago ito, sinisimulan namin ang mga variable na 'deci', 'x,' at 'remainder' na may halaga na '0'.



Sa loob ng 'habang' loop, ang operasyon ng paghahati ay isinasagawa upang kumatawan sa pinakakanang halaga ng binary na numero. Ang mga resulta ng dibisyon ay naka-imbak sa 'natitira' na variable. Pagkatapos, idinaragdag namin ang mga resulta ng natitira at ang mga resulta ng kapangyarihan sa variable na 'deci'. Ang variable na 'x' ay patuloy na sinusuri ang aktibong kapangyarihan ng 2.



Ang mga resulta ng pag-convert ng mga tinukoy na binary na numero sa mga decimal na halaga ay nakakamit sa C++ console:





Halimbawa 2: Programa ng Binary hanggang Decimal Gamit ang 'Para sa' Loop

Ang pagbabagong-anyo mula sa binary hanggang decimal ay nagawa gamit ang 'habang' loop. Gayunpaman, maaari rin nating gamitin ang 'para' na paraan ng loop upang ibahin ang anyo ng mga binary bit sa decimal na numero.



#include
#include

int pangunahing ( ) {
std :: string bin ;
std :: cout << 'Input Binary Number: ' ;
std :: kumakain >> bin ;

int dec = 0 ;
int baseIs = 1 ;

para sa ( int a = bin. haba ( ) - 1 ; a >= 0 ; a -- ) {
kung ( bin [ a ] == '1' ) {
dec + = baseIs ;
}
baseIs * = 2 ;
}

std :: cout << 'Mga Resulta sa Decimal: ' << dec << std :: endl ;

bumalik 0 ;
}

Dito, magsisimula tayo sa main() function program kung saan mayroon tayong variable na 'std::string' na 'bin' upang iimbak ang binary number input ng user sa prompt. Sa una, hihilingin ng prompt ang user na ipasok ang binary number gamit ang “cout” statement. Pagkatapos, babasahin ng command na 'cin' ang binary number na iyon. Pagkatapos nito, sinisimulan namin ang variable na 'dec' na may value na '0' at ang variable na 'baseIs' na may value na '1' upang makuha ang katumbas ng decimal.

Pagkatapos, tinatawagan namin ang 'para sa' loop na umiikot sa bawat numero ng tinukoy na binary mula kanan pakaliwa. Sa loob ng loop, mayroon kaming kundisyon na 'kung' upang i-verify kung ang binary na numero ay 1. Kung ito ay 1, ang decimal na halaga ay idaragdag sa variable na 'dec'. Ang variable na 'baseIs' ay may kapangyarihan na 2 upang i-multiply sa 1 sa bawat pag-ulit.

Ang halaga ng binary number at ang conversion nito sa decimal na halaga ay ipinapakita sa prompt screen:

Halimbawa 3: Programa ng Binary String hanggang Decimal

Ang binary string value ay tinukoy na ngayon upang i-convert ang halaga nito sa decimal na halaga. Ang sumusunod na pagpapatupad ay ginagawa upang baguhin ang binary string na halaga sa decimal na halaga:

#include
#include
gamit namespace std ;

int binToDec ( string val )
{
halaga ng string = val ;
int decimal_value = 0 ;

int base_value = 1 ;

int basta = halaga. haba ( ) ;
para sa ( int m = basta - 1 ; m >= 0 ; m -- ) {
kung ( val [ m ] == '1' )
decimal_value + = base_value ;
base_value = base_value * 2 ;
}

bumalik decimal_value ;
}

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

Dito, magsisimula tayo sa paglikha ng BinToDec() function para sa conversion ng mga binary digit sa mga decimal na halaga. Kinukuha ng function na BinToDec() ang argumentong 'val' ng uri ng string. Sa loob ng function na BinToDec(), sinisimulan namin ang variable na 'value' gamit ang variable na 'val' na kumakatawan na ang value ng variable na 'val' ay maiimbak sa variable na 'value'. Pagkatapos, nagdedeklara kami ng bagong variable, 'decimal_value', na itinalaga na may value na 0.

Katulad nito, ang variable na 'base_value' ay itinakda at pinasimulan sa halagang 1. Susunod, tinukoy namin ang variable na 'len' kung saan tinatawag ang length() function upang makuha ang haba ng binary number. Pagkatapos ng pagsisimula ng variable, mayroon kaming 'para sa' loop na pag-ulit. Ang 'para sa' loop ay inuulit ang bawat binary na digit na numero mula kanan pakaliwa.

Pagkatapos nito, mayroon tayong main() function kung saan ang binary number ay tinukoy bilang string value sa variable na 'val' na na-convert sa decimal na halaga habang tinatawag natin ang BinToDec(val) function na may command na 'cout'.

Ang string-type na binary value ay na-convert na ngayon sa decimal na halaga tulad ng ipinapakita sa sumusunod:

Halimbawa 4: Programa ng Binary hanggang Decimal Gamit ang Bitset Class

Bilang karagdagan, maaari nating i-convert ang binary number sa decimal na numero sa pamamagitan ng pagtukoy sa klase ng 'bitset' ng C++ sa programa. Nagbibigay ito ng mga function kung saan ang pamamaraan ng conversion ay napaka-simple.

#include
#include

int pangunahing ( ) {
std :: string binaryIs ;
std :: cout << 'Mangyaring magbigay ng binary number: ' ;
std :: kumakain >> binaryIs ;

std :: bitset < 64 > binary ( binaryIs ) ;
hindi pinirmahan mahaba decimalNumber = binary. to_ulong ( ) ;

std :: cout << 'Decimal Number:' << decimalNumber << std :: endl ;

bumalik 0 ;
}

Dito, itinakda namin ang 'bitset' na library ng C++ sa header na lubhang nakakatulong kapag nagtatrabaho sa mga binary na halaga. Pagkatapos nito, mayroon kaming pangunahing() function na kahulugan kung saan ginagamit namin ang 'std::string' upang ideklara ang variable na 'binaryIs'. Iniimbak ng variable na 'binaryIs' ang halaga ng binary sa string. Susunod, hinihiling namin sa user na idagdag ang binary number sa prompt ng user at ito ay binabasa sa pamamagitan ng 'cin' command. Pagkatapos nito, inaayos namin ang laki ng mga bit na maaaring 64 bits integer. Pagkatapos, ang to_ulong() function ay tinatawag mula sa 'bitset' class papunta sa 'decimalNumber' variable. Ang to_ulong() function ay nagko-convert ng set ng mga bits sa isang unsigned long data type. Panghuli, ginagamit namin ang command na 'cout' upang i-print ang decimal na halaga ng binary na halaga na ibinigay ng user.

Ang binary value na ibinigay ng user ay na-convert na ngayon sa decimal na halaga:

Konklusyon

Sa konklusyon, sinakop namin ang mga paraan ng pag-convert ng binary na halaga sa isang decimal na halaga. Ginamit namin ang loop na 'para sa', 'habang' loop, at ang klase ng bitset ay lumalapit para sa binary na conversion sa decimal. Binabago ng mga diskarteng ito ang mga binary na numero sa mga decimal system na nagpapadali sa pagbabasa at pag-unawa.