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.