Ako previesť desiatkové na binárne v C

Ako Previest Desiatkove Na Binarne V C



Počítačové systémy často používajú binárne čísla na reprezentáciu údajov a pokynov, ale keďže desiatkové číslice sú pre ľudí jednoduchšie na pochopenie ako binárne, je potrebná konverzia. Tento článok prejde porozumením medzi desatinnými miestami na binárne a poskytne programové príklady rôznych metód, ktoré konvertujú desatinné miesta na binárne v jazyku programovania nazývanom C.

Ako previesť desiatkové na binárne v C?

Daná desatinná hodnota sa niekoľkokrát vydelí 2, pričom zvyšok sa zaznamená, kým sa nedostaneme na 0 ako konečný kvocient. Tento proces sa používa na prevod celých čísel z desiatkových na binárne. Vzorec, ktorý demonštruje proces prevodu z desiatkového na binárny, sa považuje za nasledujúce fázy:







Krok 1: Nájdite zvyšok vydelením čísla 2 a potom ho pridajte do poľa.



Krok 2: Potom vydeľte zvyšok dvoma.



Krok 3: Vykonajte prvé dva kroky znova, kým výsledok nepresiahne 0.





Krok 4: Zobrazte pole dozadu, aby ste získali binárnu formu čísla. Najmenej významný bit (LSB) binárneho čísla leží hore, zatiaľ čo najvýznamnejší bit (MSB) je naspodku, čo je ďalší spôsob, ako to interpretovať. Binárny ekvivalent poskytnutého desiatkového čísla je toto.

Aby ste to lepšie pochopili, tu je prevod 11 10 v desiatkovej na binárnu konverziu:



Delenie podľa 2 Kvocient Zvyšok
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Teraz napíšte zvyšok v opačnom poradí, teda desatinné (11 10 ) sa stáva (1011 2 ).

Zvyšok sa zaznamená a potom zapíše tak, že na prvom mieste je (MSB) binárneho čísla a potom zvyšok. V dôsledku toho 1011 2 je binárny ekvivalent danej desatinnej hodnoty 11 10 . V dôsledku toho 11 10 = 1011 2 . Nasleduje implementácia vyššie uvedenej desiatkovej do binárnej konverzie v jazyku C.

Metódy používané na prevod desiatkovej sústavy na binárnu

Tieto metódy, ktoré sa používajú v jazyku C, konvertujú desatinné číslice na binárne:

Teraz implementujte prevod desatinných čísel na binárne po jednom vyššie uvedenými prístupmi.

Metóda 1: Decimálne až binárne v C programovanie s pre slučku

Nižšie je uvedený prevod desiatkovej číslice (11) na binárne pomocou for-loop v C:

#include
void konvertovať ( int num1 ) {
ak ( číslo1 == 0 ) {
printf ( '0' ) ;
vrátiť ;
}
int binárne_číslo [ 32 ] ; // Za predpokladu 32 bitové celé číslo.
int i = 0 ;
pre ( ;číslo1 > 0 ; ) {
binárne_číslo [ i++ ] = číslo1 % 2 ;
číslo1 / = 2 ;
}
pre ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , binárne_číslo [ j ] ) ;
}
int main ( ) {
int num1;
printf ( 'Zadajte desatinné číslo: ' ) ;
scanf ( '%d' , & číslo1 ) ;
konvertovať ( číslo1 ) ;
vrátiť 0 ;
}


Vyššie uvedený program používa cyklus for na prevod desiatkového čísla poskytnutého používateľom na binárne. Výstupom je:

Metóda 2: Decimálne až binárne v C programovanie s while slučkou

V tejto metóde sa slučka while v C používa na konverziu desatinnej číslice (11) na binárne, ako je uvedené nižšie:

#include
int main ( ) {
int desiatkové_číslo, binárne_číslo = 0 , základ = 1 , zvyšok;
printf ( 'Zadajte desatinné číslo: ' ) ;
scanf ( '%d' , & desatinné_číslo ) ;
zatiaľ čo ( desatinné_číslo > 0 ) {
zvyšok = desatinné_číslo % 2 ;
binary_num = binárne_num + zvyšok * základňa;
desiatkové_číslo = desiatkové_číslo / 2 ;
základ = základ * 10 ;
}
printf ( 'Binárne číslo daného desiatkového čísla s while je: %d' , binárne_číslo ) ;
vrátiť 0 ;
}


V tomto programe sú najskôr deklarované štyri celočíselné premenné decimal_num, binary_num, base a zvyšok. Používateľ zadá desiatkové_číslo, ktoré prevedieme na jeho binárne_číslo. Binárna konverzia sa vykonáva pomocou cyklu while.

Metóda 3: Decimálne až binárne v C programovanie so zásobníkom

Toto je jednoduchá metóda so zásobníkovým programom C, ktorý mení desatinnú hodnotu na binárnu:

#include

#define MAX_SIZE 32 // maximálny počet bitov v binárnej reprezentácii
int main ( ) {
int desiatkové_číslo, binárne [ MAX_SIZE ] , hore = -1 ;
printf ( 'Zadajte ľubovoľné desatinné číslo: ' ) ;
scanf ( '%d' , & desatinné_číslo ) ;
zatiaľ čo ( desatinné_číslo > 0 ) {
binárne [ ++vrchol ] = desatinné_číslo % 2 ;
desatinné_číslo / = 2 ;
}
printf ( 'Binárny súbor %d pomocou metódy zásobníka je: ' ) ;
zatiaľ čo ( top > = 0 ) {
printf ( '%d' , binárne [ hore-- ] ) ;
}
vrátiť 0 ;
}


Najprv v tomto programe deklarujeme tri celočíselné premenné top, binary a decimal_num. Vrchol je index najvyššieho prvku v zásobníku, desatinné číslo je číslo v desiatkovej forme, ktoré zadá používateľ, binárne je pole, ktoré bude obsahovať binárne bity ako MAX_SIZE bitov a desiatkové_číslo je binárne pole. Potom sa uskutoční binárna konverzia pomocou slučky while.

Výstupom je:

Metóda 4: Decimálne až binárne v programovaní C s bitovým operátorom

Operátor známy ako bitová operácia manipuluje s každým z bitov binárnych symbolov, ktoré predstavujú celé čísla. Nasleduje základný skript v jazyku C, ktorý používa bitové operácie na preklad čísla v desatinných číslach do binárneho formátu:

#include

// Táto metóda ukáže všetky 4 bity čísla
neplatná konverzia ( int num1 ) {
// Zvážte a 4 -bitové číslo
pre ( int i = 3 ; i > = 0 ; ja-- ) {
int bit = ( 1 << i ) ;
ak ( číslo1 & trocha )
printf ( '1' ) ;
inak
printf ( '0' ) ;
}
}
int main ( ) {
int num1;
printf ( 'Zadajte desatinné číslo: ' ) ;
scanf ( '%d' , & číslo1 ) ;
konverzie ( číslo1 ) ;
vrátiť 0 ;
}


Tento program vykoná cyklus for cez číslo začínajúce na najvýznamnejšom bite a končiace na bite s najmenším významom. Vykonaním operácie „bitového AND“ na maske a čísle môžeme určiť, či je bit 0 alebo 1. Ak je nenulový, súčasný bit je 1; inak je 0.

Ak chcete zobraziť binárnu formu num1, vypíšte bit po každej iterácii. Konečný výstup po úplnom vykonaní bude nasledujúci:

Záver

Je to základná zručnosť v počítačovom programovaní previesť čísla z desiatkovej na binárne. Transformácia desiatkových čísel na binárne nám umožňuje vykonávať rôzne operácie v programovaní v C. Tento článok poskytuje 4 metódy na prevod desiatkových hodnôt na binárne hodnoty.