Ove će smjernice objasniti kako pretvoriti binarne brojeve u decimalne u C-u.
Prije nego što uđemo u sam koncept, pogledajmo što su binarni i decimalni brojevi u C-u.
Binarni i decimalni formati brojeva u C-u
Binarni brojevi su brojevi predstavljeni u obliku kombinacije dviju znamenki 0 i 1, a nazivaju se brojevnim sustavom s bazom 2. S druge strane, decimalni brojevi su brojevi s bazom 10 koji se sastoje od znamenki u rasponu od 0 do 9.
Kao što vidite po nazivu binarni koji znači dva, tako da kada imamo brojeve u obliku kombinacije dviju znamenki 0 i 1, nazivamo ih binarnim brojevima. naziva se numerički sustav s bazom 2.
Zašto pretvarati binarne brojeve u decimale u C-u
Rad s binarnim brojevima predstavlja izazov za programere zbog mnogih mogućih kombinacija 0 i 1. S druge strane, decimalne brojeve lakše je razumjeti i obraditi, što ih čini bržom i učinkovitijom metodom za C programe. Pretvaranje binarnih brojeva u decimalne brojeve u C-u uključuje množenje svih binarnih znamenki odgovarajućom potencijom broja dva i zbrajanje rezultata, što se radi pomoću petlji.
Jednostavan algoritam za pretvaranje binarnih u decimalne u C-u
Evo jednostavnog algoritma za pretvaranje binarnog u decimalni u C pomoću šest jednostavnih koraka:
- Uzmite binarni broj kao unos od korisnika.
- Inicijalizirajte varijablu 'decimal' na 0 i varijablu 'base' na 1.
- Ekstrahirajte krajnju desnu znamenku binarnog broja pomoću operatora modula (%) i dodajte umnožak te znamenke i baze decimalnoj varijabli.
- Pomnožite osnovnu varijablu s 2.
- Uklonite krajnju desnu znamenku iz binarnog broja koristeći cjelobrojno dijeljenje (/).
- Ponavljajte korake 3-5 dok se sve znamenke ne obrade.
- Prikažite decimalnu vrijednost binarnog broja pohranjenog u varijabli 'decimal'.
Pretvorite binarne brojeve u decimale u C-u
Slijedi jednostavan kod za pretvaranje binarnih brojeva u decimalne u C programiranju.
#include
#include
int glavni ( ) {
dugo dugo a ;
printf ( 'Molimo unesite binarni broj: ' ) ;
skenirati ( '%lld' , i a ) ;
printf ( '%lld u binarnom = %d u decimalnom obliku' , a , binaryToDecimal ( a ) ) ;
povratak 0 ; }
int binaryToDecimal ( dugo dugo a ) {
int dec = 0 , b = 0 , r ;
dok ( a != 0 ) {
r = a % 10 ;
a /= 10 ;
dec += r * pow ( 2 , b ) ;
++ b ;
}
povratak dec ;
}
U gornjem kodu, globalna funkcija napravljena je kao ime “binaryToDecimal” . Zatim u glavnom, deklariramo long long varijablu kao 'a' i zamolite korisnika da doda binarni broj i pretvori ga u decimalni pozivom “binaryToDecimal” funkcija s parametrom a”. u “binaryToDecimal” definicija funkcije decimalna konverzija kroz while petlju.
Izlaz
Također možete koristiti ugrađeni strtol() funkcija za pretvaranje binarnih brojeva u decimale u C programiranju.
Slijedi kôd za takvu funkciju:
#include#include
int glavni ( ) {
char binarni_niz [ ] = '1110' ;
char * ptr ;
dugo decimalna_vrijednost ;
decimalna_vrijednost = srušio se ( binarni_niz , i ptr , 2 ) ;
printf ( 'Binarni niz' % s ' jednako je decimalnoj vrijednosti %ld. \n ' , binarni_niz , decimalna_vrijednost ) ;
povratak 0 ;
}
Gornji kod pretvara binarni niz “1110” u njegovu ekvivalentnu decimalnu vrijednost pomoću strtol() funkcija koja kao argumente uzima binarni niz, pokazivač na char pointer i bazu brojevnog sustava. Na kraju, ispisuje rezultat na konzolu pomoću printf().
Izlaz
Zaključak
Kao što znamo, ljudi su upoznati s decimalnim brojevima u usporedbi s binarnim jer je njima teško upravljati. Decimalne znamenke lako je izvoditi aritmetičke operacije jer su u bazi 10 i njihova je obrada brža u usporedbi s binarnim znamenkama, stoga se binarni brojevi pretvaraju u decimale. Gornji pregled objasnio je pretvorbu binarnih brojeva u decimalne s programom C s korisnički definiranim funkcijama i ugrađenim strtol() funkcija.