Hogyan lehet bináris számokat tizedesjegyekké alakítani C-ben

Hogyan Lehet Binaris Szamokat Tizedesjegyekke Alakitani C Ben



A bináris számok 0-k és 1-ek kombinációi, míg a decimális számok 10-es alapszámok. A C programozás során a bináris számokat decimális számokká alakítjuk, hogy javítsuk a kód teljesítményét és könnyebben érthetővé tegyük a tanulók számára.

Ez az útmutató bemutatja, hogyan lehet bináris számokat decimális számokká alakítani C nyelvben.

Mielőtt magára a fogalomra térnénk, nézzük meg, mik a bináris és decimális számok C-ben.







Bináris és decimális számformátumok C-ben

A bináris számok olyan számok, amelyeket két számjegyből álló 0 és 1 kombináció formájában ábrázolnak, és ezeket a 2-es alapszámrendszernek nevezik. A decimális számok viszont 10-es alapszámok, amelyek 0 és 9 közötti számjegyekből állnak.



Amint látja a bináris néven, ami kettőt jelent, ezért ha két számjegyből álló számok vannak, 0 és 1, akkor bináris számoknak nevezzük őket. 2-es alapszámrendszernek nevezik.



Miért konvertálja a bináris számokat tizedesjegyekké C-ben?

A bináris számokkal való munka kihívást jelent a fejlesztők számára a 0-k és 1-ek számos lehetséges kombinációja miatt. A tizedes számok viszont könnyebben érthetők és feldolgozhatók, így gyorsabb és hatékonyabb módszer a C programok számára. A bináris számok decimális számokká konvertálása C-ben magában foglalja az összes bináris számjegy szorzását kettő megfelelő hatványával, és az eredmények összeadásával, ami hurkok segítségével történik.





Egy egyszerű algoritmus a binárisok decimálissá konvertálására C-ben

Íme egy egyszerű algoritmus, amellyel hat egyszerű lépést használva konvertálhat binárist decimálissá C nyelven:

  • Vegyünk egy bináris számot bemenetként a felhasználótól.
  • Inicializáljon egy „tizedes” változót 0-ra, a „base” változót pedig 1-re.
  • Bontsa ki a bináris szám jobb szélső számjegyét a modulus operátorral (%), és adja hozzá ennek a számjegynek és az alapnak a szorzatát a decimális változóhoz.
  • Szorozzuk meg az alapváltozót 2-vel.
  • Távolítsa el a bináris szám jobb szélső számjegyét az egész számok osztásával (/).
  • Addig ismételje a 3-5. lépéseket, amíg az összes számjegyet fel nem dolgozta.
  • Jelenítse meg a „tizedes” változóban tárolt bináris szám decimális értékét.

Konvertálja a bináris számokat tizedesjegyekké C-ben

A következő egy egyszerű kód a bináris számok tizedesjegyekké alakításához a C programozásban.



#include

#include

int fő- ( ) {

hosszú hosszú a ;

printf ( 'Kérem, írjon be egy bináris számot:' ) ;

scanf ( '%lld' , & a ) ;

printf ( '%lld binárisan = %d decimális formában' , a , binaryToDecimal ( a ) ) ;

Visszatérés 0 ; }

int binaryToDecimal ( hosszú hosszú a ) {

int december = 0 , b = 0 , r ;

míg ( a != 0 ) {

r = a % 10 ;

a /= 10 ;

december += r * hadifogoly ( 2 , b ) ;

++ b ;

}

Visszatérés december ;

}

A fenti kódban névként egy globális függvény készül 'binary-toDecimal' . Ezután a főben egy hosszú hosszú változót deklarálunk, mint 'a' és kérje meg a felhasználót, hogy adjon hozzá egy bináris számot, és alakítsa át decimálissá a szám hívásával 'binary-toDecimal' függvény a paraméterrel”. Ban,-ben 'binary-toDecimal' függvénydefiníció decimális konverzió a while cikluson keresztül.

Kimenet

Használhat beépítettet is strtol() függvény a bináris számok tizedesjegyekké alakításához a C programozásban.

A következő egy ilyen funkció kódja:

#include

#include

int fő- ( ) {

char bináris_karakterlánc [ ] = '1110' ;

char * ptr ;

hosszú decimális_érték ;

decimális_érték = lezuhant ( bináris_karakterlánc , & ptr , 2 ) ;

printf ( 'Bináris karakterlánc' % s ' egyenlő a %ld decimális értékkel. \n ' , bináris_karakterlánc , decimális_érték ) ;

Visszatérés 0 ;

}

A fenti kód bináris karakterláncot alakít át „1110” ekvivalens decimális értékére a segítségével strtol() függvény, amely a bináris karakterláncot, a char mutató mutatóját és a számrendszer alapját veszi argumentumként. Végül kinyomtatja az eredményt a konzolra a segítségével printf().

Kimenet

Következtetés

Mint tudjuk, az emberek ismerik a decimális számokat a binárishoz képest, mivel nehéz őket kezelni. A tizedes számjegyekkel könnyen elvégezhetők aritmetikai műveletek, mivel 10-es alapban vannak, és feldolgozásuk gyorsabb a bináris számjegyekhez képest, így a bináris számokat tizedesjegyekké alakítják át. A fenti áttekintés elmagyarázta a bináris számok tizedesjegyekké alakítását a C programmal, felhasználó által definiált függvényekkel és beépített strtol() funkció.