Ako previesť binárne čísla na desatinné čísla v C

Ako Previest Binarne Cisla Na Desatinne Cisla V C



Binárne čísla sú kombinácie 0 a 1, zatiaľ čo desatinné čísla sú čísla so základom 10. V programovaní v C konvertujeme binárne čísla na desatinné čísla, aby sme zlepšili výkon kódu a uľahčili pochopenie pre študentov.

Táto príručka sa bude zaoberať tým, ako previesť binárne čísla na desiatkové čísla v C.

Než sa dostaneme k samotnému konceptu, pozrime sa, čo sú binárne a desatinné čísla v C.







Binárne a desiatkové formáty čísel v C

Binárne čísla sú čísla reprezentované vo forme kombinácie dvoch číslic 0 a 1 a označujú sa ako základná 2 číselná sústava. Desatinné čísla sú na druhej strane čísla so základom 10, ktoré pozostávajú z číslic v rozsahu od 0 do 9.



Ako vidíte pri názve binárne, čo znamená dve, takže keď máme čísla v tvare kombinácie dvoch číslic 0 a 1, nazývame ich binárne čísla. označuje sa ako základná 2 číselná sústava.



Prečo prevádzať binárne čísla na desatinné miesta v C

Práca s binárnymi číslami je pre vývojárov náročná kvôli mnohým možným kombináciám 0 a 1. Desatinné čísla sú na druhej strane jednoduchšie na pochopenie a spracovanie, čo z nich robí rýchlejšiu a efektívnejšiu metódu pre programy v jazyku C. Prevod binárnych čísel na desiatkové čísla v C zahŕňa vynásobenie všetkých binárnych číslic príslušnou mocninou dvoch a sčítanie výsledkov, čo sa robí pomocou slučiek.





Jednoduchý algoritmus na prevod binárnych údajov na desiatkové v C

Tu je jednoduchý algoritmus na konverziu binárneho na desiatkové v C pomocou šiestich jednoduchých krokov:

  • Vezmite binárne číslo ako vstup od používateľa.
  • Inicializujte premennú „desatinné“ na 0 a premennú „základ“ na 1.
  • Extrahujte číslicu úplne vpravo binárneho čísla pomocou operátora modulu (%) a pridajte súčin tejto číslice a základu k desiatkovej premennej.
  • Vynásobte základnú premennú 2.
  • Odstráňte číslicu úplne vpravo z binárneho čísla pomocou celočíselného delenia (/).
  • Opakujte kroky 3-5, kým nebudú spracované všetky číslice.
  • Zobrazte desiatkovú hodnotu binárneho čísla uloženého v premennej „desatinná“.

Previesť binárne čísla na desatinné čísla v C

Nasleduje jednoduchý kód na prevod binárnych čísel na desatinné miesta v programovaní v jazyku C.



#include

#include

int Hlavná ( ) {

dlhý dlhý a ;

printf ( 'Prosím vložte binárne číslo: ' ) ;

scanf ( '%lld' , & a ) ;

printf ( '%lld v binárnom kóde = %d v desiatkovom tvare' , a , binaryToDecimal ( a ) ) ;

vrátiť 0 ; }

int binaryToDecimal ( dlhý dlhý a ) {

int dec = 0 , b = 0 , r ;

zatiaľ čo ( a != 0 ) {

r = a % 10 ;

a /= 10 ;

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

++ b ;

}

vrátiť dec ;

}

Vo vyššie uvedenom kóde je ako názov vytvorená globálna funkcia 'binaryToDecimal' . Potom v hlavnom deklarujeme dlhú dlhú premennú ako 'a' a požiadajte používateľa, aby pridal binárne číslo a previedol ho na desiatkové zavolaním na 'binaryToDecimal' funkcia s parametrom a“. V 'binaryToDecimal' definícia funkcie desiatková konverzia cez cyklus while.

Výkon

Môžete tiež použiť vstavaný strtol() funkcia na prevod binárnych čísel na desatinné miesta v programovaní v jazyku C.

Nasleduje kód pre takúto funkciu:

#include

#include

int Hlavná ( ) {

char binárny_reťazec [ ] = '1110' ;

char * ptr ;

dlhý desiatková_hodnota ;

desiatková_hodnota = havaroval ( binárny_reťazec , & ptr , 2 ) ;

printf ( 'Binárny reťazec' % s ' sa rovná desiatkovej hodnote %ld. \n ' , binárny_reťazec , desiatková_hodnota ) ;

vrátiť 0 ;

}

Vyššie uvedený kód konvertuje binárny reťazec '1110' na ekvivalentnú desatinnú hodnotu pomocou strtol() funkcia, ktorá berie ako argumenty binárny reťazec, ukazovateľ na ukazovateľ char a základ číselnej sústavy. Nakoniec vytlačí výsledok do konzoly pomocou printf().

Výkon

Záver

Ako vieme, ľudia poznajú desatinné čísla v porovnaní s binárnymi, pretože je ťažké ich spravovať. S desiatkovými číslicami sa ľahko vykonávajú aritmetické operácie, pretože sú v základi 10 a ich spracovanie je rýchlejšie v porovnaní s binárnymi číslicami, preto sa binárne čísla prevádzajú na desatinné miesta. Vyššie uvedený prehľad vysvetlil prevod binárnych čísel na desatinné miesta pomocou programu C s užívateľsky definovanými funkciami a vstavaným strtol() funkciu.