Kako pretvoriti binarna števila v decimalke v C

Kako Pretvoriti Binarna Stevila V Decimalke V C



Binarna števila so kombinacije 0 in 1, medtem ko so decimalna števila števila z osnovo 10. Pri programiranju C pretvorimo binarna števila v decimalna števila, da izboljšamo učinkovitost kode in jo učenci lažje razumejo.

Ta smernica bo opisala, kako binarna števila pretvoriti v decimalna števila v C.

Preden se lotimo samega koncepta, poglejmo, kaj so binarna in decimalna števila v C.







Binarne in decimalne oblike zapisa števil v C

Dvojiška števila so števila, predstavljena v obliki kombinacije dveh števk 0 in 1, in jih imenujemo sistem številk z osnovo 2. Po drugi strani pa so decimalna števila osnovna števila 10, ki so sestavljena iz števk od 0 do 9.



Kot vidite po imenu binarno, kar pomeni dve, torej, ko imamo števila v obliki kombinacije dveh števk 0 in 1, jih imenujemo binarna števila. imenujemo sistem številk z osnovo 2.



Zakaj pretvoriti binarna števila v decimalke v C

Delo z binarnimi števili je za razvijalce izziv zaradi številnih možnih kombinacij 0 in 1. Po drugi strani so decimalna števila lažje razumljiva in obdelana, zaradi česar so hitrejša in učinkovitejša metoda za programe C. Pretvarjanje binarnih števil v decimalna števila v C vključuje množenje vseh binarnih števk z ustrezno potenco dvojke in seštevanje rezultatov, kar se izvede z uporabo zank.





Preprost algoritem za pretvorbo binarnih v decimalne v C

Tu je preprost algoritem za pretvorbo binarne v decimalno v C s šestimi preprostimi koraki:

  • Kot vnos uporabnika vzemite binarno število.
  • Inicializirajte spremenljivko 'decimal' na 0 in spremenljivko 'base' na 1.
  • Izvlecite skrajno desno števko binarnega števila z uporabo operatorja modula (%) in dodajte zmnožek te števke in osnove k decimalni spremenljivki.
  • Pomnožite osnovno spremenljivko z 2.
  • Odstranite skrajno desno števko iz binarnega števila z deljenjem celih števil (/).
  • Ponavljajte korake 3-5, dokler niso obdelane vse števke.
  • Prikaži decimalno vrednost binarnega števila, shranjenega v spremenljivki 'decimal'.

Pretvorite binarna števila v decimalke v C

Sledi preprosta koda za pretvorbo binarnih števil v decimalna v programiranju C.



#include

#include

int glavni ( ) {

dolga dolga a ;

printf ( 'Prosimo, vnesite binarno število: ' ) ;

scanf ( '%lld' , & a ) ;

printf ( '%lld v dvojiški = %d v decimalni obliki' , a , binaryToDecimal ( a ) ) ;

vrnitev 0 ; }

int binaryToDecimal ( dolga dolga a ) {

int dec = 0 , b = 0 , r ;

medtem ( a != 0 ) {

r = a % 10 ;

a /= 10 ;

dec += r * pow ( 2 , b ) ;

++ b ;

}

vrnitev dec ;

}

V zgornji kodi je globalna funkcija narejena kot ime “binaryToDecimal” . Nato v glavnem razglasimo spremenljivko long long kot 'a' in prosite uporabnika, da doda binarno število in ga pretvori v decimalno s klicem “binaryToDecimal” funkcija s parametrom a«. V “binaryToDecimal” definicija funkcije decimalna pretvorba skozi zanko while.

Izhod

Uporabite lahko tudi vgrajeno strtol() funkcija za pretvorbo binarnih števil v decimalna v programiranju C.

Sledi koda za takšno funkcijo:

#include

#include

int glavni ( ) {

char dvojiški_niz [ ] = '1110' ;

char * ptr ;

dolga decimalna_vrednost ;

decimalna_vrednost = strtol ( dvojiški_niz , & ptr , 2 ) ;

printf ( 'Binarni niz' % s ' je enako decimalni vrednosti %ld. \n ' , dvojiški_niz , decimalna_vrednost ) ;

vrnitev 0 ;

}

Zgornja koda pretvori binarni niz '1110' v njegovo ekvivalentno decimalno vrednost z uporabo strtol() funkcija, ki kot argumente sprejme binarni niz, kazalec na kazalec char in osnovo številskega sistema. Končno natisne rezultat na konzolo z uporabo printf().

Izhod

Zaključek

Kot vemo, ljudje poznamo decimalna števila v primerjavi z binarnimi, saj jih je težko upravljati. Decimalne števke je enostavno izvajati aritmetične operacije, saj so v osnovi 10, njihova obdelava pa je hitrejša v primerjavi z binarnimi števkami, zato se binarna števila pretvorijo v decimalna. Zgornji pregled je razložil pretvorbo binarnih števil v decimalna s programom C z uporabniško določenimi funkcijami in vgrajenim strtol() funkcijo.