Hogyan lehet decimálist binárissá konvertálni C-ben

Hogyan Lehet Decimalist Binarissa Konvertalni C Ben



A számítógépes rendszerek gyakran használnak bináris számokat az adatok és utasítások megjelenítésére, de mivel a decimális számjegyeket az emberek könnyebben megértik, mint a binárisokat, ezért konverzióra van szükség. Ez a cikk a tizedesjegyek binárissá való megértését mutatja be, és programpéldákat mutat be különböző módszerekre, amelyek a tizedesjegyeket binárissá alakítják a C programozási nyelven.

Hogyan lehet decimálist binárissá konvertálni C-ben?

A megadott decimális értéket többször elosztjuk 2-vel, a maradékot addig rögzítjük, amíg 0-t nem kapunk végső hányadosként. Ezt a folyamatot egész számok decimálisról binárisra konvertálására használják. A decimálisról binárisra való átalakítási folyamatot bemutató képlet a következő szakaszoknak tekinthető:







1. lépés: Keresse meg a maradékot úgy, hogy elosztja a számot 2-vel, majd adja hozzá egy tömbhöz.



2. lépés: Ezután oszd el a maradékot kettővel.



3. lépés: Ismételje meg az első két lépést, amíg az eredmény el nem éri a 0-t.





4. lépés: Jelenítse meg a tömböt visszafelé, hogy megkapja a szám bináris alakját. Egy bináris szám legkisebb jelentőségű bitje (LSB) felül van, míg a legjelentősebb bitje (MSB) alul van, ami egy másik módja ennek értelmezésére. A megadott decimális szám bináris megfelelője ez.

Ennek jobb megértése érdekében itt van a 11-es konverzió 10 decimális bináris átalakításban:



Osztás 2-vel Hányados Maradék
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Most írja be a maradékot fordított sorrendben, tehát tizedes (11 10 ) lesz (1011 2 ).

A maradékot a rendszer feljegyzi, majd írja úgy, hogy a bináris szám (MSB) legyen először, majd a többi. Következésképpen 1011 2 az adott decimális érték 11 bináris megfelelője 10 . Ennek eredményeként a 11 10 = 1011 2 . Az alábbiakban bemutatjuk a fent említett decimális binárissá konvertálást C nyelven.

A decimális binárissá konvertálására használt módszerek

A C nyelvben használt módszerek a decimális számjegyeket binárissá alakítják:

Most hajtsa végre a tizedesjegyek binárissá konvertálását egyesével a fent említett megközelítésekkel.

1. módszer: Decimálistól binárisig C programozásban for Loop segítségével

Az alábbiakban bemutatjuk a decimális számjegy(11) binárissá alakítását a for-ciklus segítségével C-ben:

#include
üres konvertál ( int szám1 ) {
ha ( szám1 == 0 ) {
printf ( '0' ) ;
Visszatérés ;
}
int bináris_szám [ 32 ] ; // Feltételezve 32 bit integer.
int én = 0 ;
számára ( ;szám1 > 0 ; ) {
bináris_szám [ i++ ] = szám1 % 2 ;
szám1 / = 2 ;
}
számára ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , bináris_szám [ j ] ) ;
}
int fő ( ) {
int szám1;
printf ( 'Adjon meg egy tizedes számot:' ) ;
scanf ( '%d' , & szám1 ) ;
alakítani ( szám1 ) ;
Visszatérés 0 ;
}


A fenti program a for ciklust használja a felhasználó által megadott decimális szám binárissá alakításához. A kimenet a következő:

2. módszer: Tizedestől binárisig C programozásban while ciklussal

Ebben a módszerben a C-ben a while ciklust a decimális számjegy (11) binárissá alakítására használják, az alábbiak szerint:

#include
int fő ( ) {
int decimális_szám, bináris_szám = 0 , alap = 1 , maradék;
printf ( 'Adjon meg egy tizedes számot:' ) ;
scanf ( '%d' , & decimális_szám ) ;
míg ( decimális_szám > 0 ) {
maradék = decimális_szám % 2 ;
bináris_szám = bináris_szám + maradék * bázis;
decimális_szám = decimális_szám / 2 ;
alap = alap * 10 ;
}
printf ( 'A megadott decimális szám binárisa while ciklussal: %d' , bináris_szám ) ;
Visszatérés 0 ;
}


Ebben a programban először deklarálják a négy egész változót: decimális_szám, bináris_szám, bázis és maradék. A felhasználó beír egy decimális_számot, amelyet a bináris_számmá konvertálunk. A bináris átalakítás a while ciklus segítségével történik.

3. módszer: Decimálistól binárisig C programozásban verem segítségével

Ez az egyszerű módszer egy verem alapú C programmal, amely a decimális értéket binárisra változtatja:

#include

#define MAX_SIZE 32 // a bitek maximális száma bináris ábrázolásban
int fő ( ) {
int decimális_szám, bináris [ MAX_SIZE ] , felső = -1 ;
printf ( 'Kérjük, adjon meg bármilyen decimális számot: ' ) ;
scanf ( '%d' , & decimális_szám ) ;
míg ( decimális_szám > 0 ) {
bináris [ ++felső ] = decimális_szám % 2 ;
decimális_szám / = 2 ;
}
printf ( 'A %d binárisa veremmódszerrel a következő: ' ) ;
míg ( tetejére > = 0 ) {
printf ( '%d' , bináris [ tetejére-- ] ) ;
}
Visszatérés 0 ;
}


Ebben a programban először deklaráljuk a három egész változót top, binary és decimal_num. A felső a verem legmagasabb elemének indexe, a decimális a felhasználó által beírt decimális szám, a bináris egy olyan tömb, amely MAX_SIZE bitként tartalmazza a bináris biteket, a decimal_num pedig a bináris tömb. Ezt követően a bináris átalakítást egy while ciklus segítségével hajtják végre.

A kimenet a következő:

4. módszer: Decimálistól binárisig terjedő C programozásban bitenkénti operátorral

A bitenkénti műveletként ismert operátor manipulálja az egész számokat jelentő bináris szimbólumok minden egyes bitjét. A következő egy alapvető C-szkript, amely bitenkénti műveleteket használ a decimális számok binárissá való fordítására:

#include

// Ez a módszer megmutatja az összes 4 egy szám bitjei
semmis átalakítás ( int szám1 ) {
// Tekintsük a 4 -bit szám
számára ( int i = 3 ; én > = 0 ; én-- ) {
int bit = ( 1 << én ) ;
ha ( szám1 & bit )
printf ( '1' ) ;
más
printf ( '0' ) ;
}
}
int fő ( ) {
int szám1;
printf ( 'Adjon meg egy tizedes számot:' ) ;
scanf ( '%d' , & szám1 ) ;
átalakítás ( szám1 ) ;
Visszatérés 0 ;
}


Ez a program egy for ciklust hajt végre a számon keresztül, amely a legjelentősebb bittől kezdődik és a legkisebb jelentőségű bitig végződik. A maszkon és a számon „bitenkénti ÉS” művelet végrehajtásával meghatározhatjuk, hogy a bit 0 vagy 1. Ha nem nulla, akkor a jelenlegi bit 1; egyébként 0.

A szám1 bináris alakjának megjelenítéséhez adja ki a bitet minden iteráció után. A teljes végrehajtás után a végső kimenet a következő lesz:

Következtetés

Alapvető készség a számítógépes programozásban a számok decimálisról binárisra konvertálása. A decimális számok binárissá alakítása lehetővé teszi, hogy különböző műveleteket hajtsunk végre a C programozásban. Ez a cikk 4 módszert kínál a decimális értékek bináris értékké alakítására.