logo

Binært til decimaltal i C

Dette afsnit vil diskutere konverteringen af ​​binære tal til decimaltal. Før vi går til begrebet, skal vi forstå binære tal og decimaltal. Som vi ved, forstår computeren ikke de ord eller tal, som mennesker skriver eller gør. I stedet forstår den kun 0'er og 1'er. For eksempel, når vi skriver et ord eller tal på en computer, hjælper forskellige software eller compilere med at konvertere disse tal eller ord til binær form (0s og 1s bit). Så en computermaskine nemt kan forstå disse.

det er
Binært til decimaltal i C

Binært tal

Et binært tal er et tal, der repræsenterer information eller data gemt i en computer med en kombination af 0s og 1s bit. Det er også kendt som base 2-talsystemet, fordi det har to bits, 0'er og 1'ere. Disse er binære tal (0 og 1) 1001, 1010, 1101, 1111, 1010101 osv.

Decimaltal

Et decimaltal er et tal, der indeholder 10 cifre fra 0 til 9. Dets grundtal er 10, fordi det samler 10 cifre (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) og repræsenterer eller gør hele tal ved hjælp af disse ti cifre.

Algoritme til at konvertere binær til decimal

  1. Tag et binært tal som input.
  2. Divider tallet med 10 og gem resten i variabel rem.
  3. decimaltal = decimaltal + rem * base;
    Til at begynde med er decimaltal 0, og grundtallet er 1, hvor rem-variablen gemmer resten af ​​tallet.
  4. Divider kvotienten af ​​det oprindelige tal med 10.
  5. Gang grundtallet med 2.
  6. Udskriv decimalen for det binære tal.

Konverter binært tal til et decimaltal ved hjælp af while-løkke

Lad os overveje C-programmet til at konvertere kombinationen af ​​et binært tal (0s og 1s) til decimaltallet ved hjælp af en while-løkke.

program.c

 #include #include void main() { // declaration of variables int num, binary_num, decimal_num = 0, base = 1, rem; printf (' Enter a binary number with the combination of 0s and 1s 
'); scanf (' %d', &num); // accept the binary number (0s and 1s) binary_num = num; // assign the binary number to the binary_num variable while ( num > 0) { rem = num % 10; /* divide the binary number by 10 and store the remainder in rem variable. */ decimal_num = decimal_num + rem * base; num = num / 10; // divide the number with quotient base = base * 2; } printf ( ' The binary number is %d 	', binary_num); // print the binary number printf (' 
 The decimal number is %d 	', decimal_num); // print the decimal getch(); } 

Produktion

 Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13 

Forklaringer af koden: Som vi kan se i ovenstående program, beder det et binært tal (0s og 1s) fra brugerne om at gemme tallet i variablen num. Ved hver iteration kontrollerer en while-løkke den binære talbetingelse og validerer, at det givne tal ikke bør være mindre end 0; ellers går den ud af løkken.

Følgende er iterationen af ​​while-løkken, som følger:

1. iteration:

rem = 1101 % 10 => 1

decimaltal = 0 + 1 * 1 => 1 (decimalværdi = 0, rem = 1, & grundtal = 1)

ssis tutorial

antal = 1101 / 10 => 110

base = 1 * 2 => 2

2. iteration:

rem = 110 % 10 => 0

decimaltal = 1 + 0 * 2 => 1 (decimalværdi = 1, rem = 0, & grundtal = 2)

antal = 110 / 10 => 11

base = 2 * 2 => 4

3. iteration:

rem = 11 % 10 => 1

decimaltal = 1 + 1 * 4 => 5 (decimalværdi = 1, rem = 1, & grundtal = 4)

git status -s

antal = 11 / 10 => 1

vba

base = 4 * 2 => 8

4. iteration:

rem = 1 % 10 => 1

decimaltal = 5 + 1 * 8 => 1 (decimalværdi = 5, rem = 1, & grundtal = 8)

antal = 1 / 10 => 0

base = 8 * 2 => 16

Konverter binært tal til decimaltal ved hjælp af for loop

Lad os overveje et program i C-sprog til at konvertere kombinationen af ​​binært tal (0s og 1s) til decimaltallet ved hjælp af for loop.

decimal.c

log4j
 #include #include #include // use math.h header file void main() { // declaration of local variables i, bin_num, decimal_num = 0, rem; int i, bin_num, decimal_num = 0, rem; printf (' Enter the binary number with the combination of 0s and 1s 
'); scanf ('%d', &bin_num); // takes the binary number as the input printf( ' 
 The binary number is %d', bin_num); // print the binary number for (i = 0; bin_num != 0; ++i) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + (rem) * ( pow (2, i)); } // print the decimal number printf ('
 Conversion from binary to decimal number is %d', decimal_num); getch(); } 

Produktion

 Enter the binary number with the combination of 0s and 1s 10010 The binary number is 10010 Conversion from binary to decimal number is 18 

Konverter binært tal til decimaltal ved hjælp af funktion

Lad os overveje et program i C-sprog til at konvertere kombinationen af ​​binære tal (0s og 1s) til decimaltallet ved hjælp af brugerdefineret funktion.

så c

 #include #include int binaryTodecimal(int bin_num); int main() { // declare the local variable int bin_num, dec_num; printf (' Enter the binary number (0s and 1s) 
'); scanf ('%d', &bin_num); dec_num = binaryTodecimal (bin_num); // call the binaryTodecimal() function printf (' Conversion of the binary number to decimal number is %d', dec_num); } // use user defined function --- binaryTo decimal function int binaryTodecimal( int bin_num) { // declaration of variables int decimal_num = 0, temp = 0, rem; while (bin_num != 0) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + rem * pow( 2, temp); temp++; } return decimal_num; } 

Produktion

 Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25 

Konverter binært tal til decimaltal ved hjælp af matrix og funktion

Lad os overveje et program i C-sprog til at konvertere kombinationen af ​​binære tal (0s og 1s) til decimaltal ved hjælp af funktion og array.

Decimal2.c

 #include #include int binaryTodecimal (char num[]) { int i, deci_num, mul = 0; for ( deci_num = 0, i = str_length(num) - 1; i >= 0; --i, ++mul) { deci_num = deci_num + (num[i] - 48) * (1 << mul); } return deci_num; } int str_length( char str[]) { int i = 0; while (str[i] != '') i++; return i; } int main() { char num[] = '1101'; int deci_num; printf ('
 The binary number is %s', num); printf ('
 The decimal number of %s is %d', num, binaryTodecimal(num)); return 0; } 

Produktion

 The binary number is 1101 The decimal number of 1101 is 13