Cum să convertiți numerele binare în zecimale în C

Cum Sa Convertiti Numerele Binare In Zecimale In C



Numerele binare sunt combinații de 0 și 1, în timp ce numerele zecimale sunt numere de bază 10. În programarea C, convertim numerele binare în numere zecimale pentru a îmbunătăți performanța codului și a face mai ușor de înțeles pentru cursanți.

Acest ghid va analiza cum să convertiți numerele binare în numere zecimale în C.

Înainte de a intra în conceptul în sine, să vedem care sunt numerele binare și zecimale în C.







Formate de numere binare și zecimale în C

Numerele binare sunt numere reprezentate sub forma unei combinații de două cifre 0 și 1 și sunt denumite sistemul numeric de bază 2. Numerele zecimale, pe de altă parte, sunt numere de bază 10 care constau din cifre cuprinse între 0 și 9.



După cum vedeți după numele binar care înseamnă doi, atunci când avem numere sub forma unei combinații de două cifre 0 și 1, le numim numere binare. este denumit sistemul numeric de bază 2.



De ce convertiți numerele binare în zecimale în C

Lucrul cu numere binare este o provocare pentru dezvoltatori din cauza numeroaselor combinații posibile de 0 și 1. Numerele zecimale, pe de altă parte, sunt mai ușor de înțeles și procesat, făcându-le o metodă mai rapidă și mai eficientă pentru programele C. Conversia numerelor binare în numere zecimale în C implică înmulțirea tuturor cifrelor binare cu puterea corespunzătoare a doi și adăugarea rezultatelor, care se face folosind bucle.





Un algoritm simplu pentru a converti binar în zecimal în C

Iată un algoritm simplu pentru a converti binar în zecimal în C folosind șase pași simpli:

  • Luați un număr binar ca intrare de la utilizator.
  • Inițializați o variabilă „zecimală” la 0 și o variabilă „bază” la 1.
  • Extrageți cifra cea mai din dreapta a numărului binar utilizând operatorul modul (%) și adăugați produsul acestei cifre și baza la variabila zecimală.
  • Înmulțiți variabila de bază cu 2.
  • Îndepărtați cifra din dreapta din numărul binar folosind divizarea întregului (/).
  • Repetați pașii 3-5 până când toate cifrele au fost procesate.
  • Afișează valoarea zecimală a numărului binar stocat în variabila „zecimală”.

Convertiți numerele binare în zecimale în C

Următorul este un cod simplu pentru a converti numerele binare în zecimale în programarea C.



#include

#include

int principal ( ) {

lung lung A ;

printf ( 'Vă rugăm să introduceți un număr binar: ' ) ;

scanf ( „%lld” , & A ) ;

printf ( „%lld în binar = %d sub formă de zecimală” , A , binaryToDecimal ( A ) ) ;

întoarcere 0 ; }

int binaryToDecimal ( lung lung A ) {

int dec = 0 , b = 0 , r ;

in timp ce ( A != 0 ) {

r = A % 10 ;

A /= 10 ;

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

++ b ;

}

întoarcere dec ;

}

În codul de mai sus, este creată o funcție globală ca nume „binaryToDecimal” . Apoi, în principal, declarăm o variabilă lung lung ca 'A' și cereți utilizatorului să adauge un număr binar și să îl convertească într-o zecimală apelând la „binaryToDecimal” funcție cu parametrul a”. În „binaryToDecimal” definiția funcției o conversie zecimală prin bucla while.

Ieșire

Puteți utiliza, de asemenea, un încorporat strtol() funcția de conversie a numerelor binare în zecimale în programarea C.

Următorul este codul pentru o astfel de funcție:

#include

#include

int principal ( ) {

char șir_binar [ ] = '1110' ;

char * ptr ;

lung valoare_zecimală ;

valoare_zecimală = prăbușit ( șir_binar , & ptr , 2 ) ;

printf ( „Șir binar” % s ' este egal cu valoarea zecimală %ld. \n ' , șir_binar , valoare_zecimală ) ;

întoarcere 0 ;

}

Codul de mai sus convertește un șir binar „1110” în valoarea sa zecimală echivalentă folosind strtol() funcția, care ia șirul binar, un pointer către un indicator al caracterului și baza sistemului numeric ca argumente. În cele din urmă, imprimă rezultatul pe consolă folosind printf().

Ieșire

Concluzie

După cum știm, oamenii sunt familiarizați cu numerele zecimale în comparație cu cele binare, deoarece sunt greu de gestionat. Cifrele zecimale sunt ușor de efectuat operații aritmetice, deoarece sunt în baza 10 și procesarea lor este mai rapidă în comparație cu cifrele binare, prin urmare, numerele binare sunt convertite în zecimale. Prezentare generală de mai sus a explicat conversia numerelor binare în zecimale cu programul C cu funcții definite de utilizator și încorporate strtol() funcţie.