Hvordan konvertere binære tall til desimaler i C

Hvordan konvertere binære tall til desimaler i C
Binære tall er kombinasjoner av 0s og 1s, mens desimaltall er base 10 tall. I C -programmering konverterer vi binære tall til desimaltall for å forbedre kodeytelsen og gjøre det lettere å forstå for elever.

Denne retningslinjen vil gå over hvordan du konverterer binære tall til desimal tall i C.

Før vi kommer inn i selve konseptet, la oss se hva som er binære og desimale tall i C.

Binære og desimalnummerformater i C

Binære tall er tall representert i form av en kombinasjon av to sifre 0 og 1, og de blir referert til som base 2 -tallsystem. Desimaltall er derimot base 10 tall som består av sifre fra 0 til 9.

Som du ser med navnet binær som betyr to, så når vi har tall i form av en kombinasjon av to sifre 0 og 1, kaller vi dem binære tall. det blir referert til som Base 2 -tallsystemet.

Hvorfor konvertere binære tall til desimaler i C

Å jobbe med binære tall er utfordrende for utviklere på grunn av de mange mulige kombinasjonene av 0s og 1s. Desimaltall er derimot lettere å forstå og behandle, noe som gjør dem til en raskere og mer effektiv metode for C -programmer. Konvertering av binære tall til desimaltall i C innebærer å multiplisere alle binære sifre med passende kraft av to og legge til resultatene, som gjøres ved hjelp av løkker.

En enkel algoritme for å konvertere binær til desimal i C

Her er en enkel algoritme for å konvertere binær til desimal i C ved å bruke seks enkle trinn:

  • Ta et binært nummer som inndata fra brukeren.
  • Initialiser en variabel 'desimal' til 0 og en variabel 'base' til 1.
  • Pakk ut det høyre sifferet til det binære tallet ved hjelp av moduloperatøren (%), og legg til produktet fra dette sifferet og basen til desimalvariabelen.
  • Multipliser basisvariabelen med 2.
  • Fjern det høyre sifferet fra det binære nummeret ved hjelp av Heltalldivisjon (/).
  • Gjenta trinn 3-5 til alle sifre er behandlet.
  • Vis desimalverdien til det binære tallet som er lagret i "desimal" -variabelen.

Konverter binære tall til desimaler i C

Følgende er en enkel kode for å konvertere binære tall til desimaler i C -programmering.

#inkludere
#inkludere
int main ()
lang lang a;
printf ("Vennligst sett inn et binært nummer:");
scanf ("%lld", & a);
printf (" %lld i binær = %d i form av desimal", a, binærtodecimal (a));
return 0;
int binærtodecimal (lang lang a)
int desember = 0, b = 0, r;
mens (a!= 0)
r = a % 10;
a /= 10;
dec += r * pow (2, b);
++b;

returner desember;

I koden ovenfor er en global funksjon laget som navn “Binærtodesimal”. Så i hovedsak erklærer vi en lang lang variabel som "en" og be brukeren om å legge til et binært nummer og konvertere det til en desimal ved å ringe “Binærtodesimal” funksjon med parameter av a ”. I “Binærtodesimal” Funksjonsdefinisjon En desimalkonvertering gjennom stundsløyfen.

Produksjon

Du kan også bruke en innebygd Strtol () funksjon for å konvertere binære tall til desimaler i C -programmering.

Følgende er koden for en slik funksjon:

#inkludere
#inkludere
int main ()
char binary_string [] = "1110";
char *ptr;
lang desimal_value;
desimal_value = strtol (binary_string, & ptr, 2);
printf ("binær streng" %s "er lik desimalverdi %ld.\ n ", binær_string, desimal_value);
retur 0;

Ovennevnte kode konverterer en binær streng “1110” inn i den tilsvarende desimalverdien ved å bruke Strtol () Funksjon, som tar den binære strengen, en peker til en røyepeker og basen av tallsystemet som argumenter. Til slutt skriver det ut resultatet til konsollen ved hjelp av printf ().

Produksjon

Konklusjon

Som vi vet at mennesker er kjent med desimaltall sammenlignet med binære, da de er tøffe å håndtere. Desimalsifre er enkle å utføre aritmetiske operasjoner ettersom de er i base 10 og behandlingen deres er raskere sammenlignet med binære sifre, og derfor blir de binære tallene konvertert til desimaler. Oversikten ovenfor har forklart konvertering av binære tall til desimaler med C-programmet med brukerdefinerte funksjoner og innebygd Strtol () funksjon.