logo

Número binario a decimal en C

Esta sección discutirá la conversión de números binarios a números decimales. Antes de entrar en el concepto, debemos entender los números binarios y los números decimales. Como sabemos, la computadora no entiende las palabras ni los números que los humanos escriben o hacen. En cambio, sólo entiende 0 y 1. Por ejemplo, cuando escribimos una palabra o un número en una computadora, varios programas o compiladores ayudan a convertir estos números o palabras en forma binaria (bits 0 y 1). Para que una máquina informática pueda entenderlos fácilmente.

error de protección general
Número binario a decimal en C

Número binario

Un número binario es un número que representa información o datos almacenados en una computadora con una combinación de bits 0 y 1. También se le conoce como sistema numérico de base 2 porque tiene dos bits, 0 y 1. Estos son números binarios (0 y 1) 1001, 1010, 1101, 1111, 1010101, etc.

Número decimal

Un número decimal es un número que contiene 10 dígitos del 0 al 9. Su base es 10 porque reúne 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) y representa o hace el número entero usando estos diez dígitos.

Algoritmo para convertir binario a decimal

  1. Tome un número binario como entrada.
  2. Divide el número entre 10 y almacena el resto en la variable rem.
  3. núm_decimal = núm_decimal + rem * base;
    Inicialmente, el número decimal es 0 y la base es 1, donde la variable rem almacena el resto del número.
  4. Divide el cociente del número original por 10.
  5. Multiplica la base por 2.
  6. Imprime el decimal del número binario.

Convierta un número binario en un número decimal usando el bucle while

Consideremos el programa C para convertir la combinación de un número binario (0 y 1) en un número decimal usando un bucle while.

programa.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(); } 

Producción

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

Explicaciones del código: Como podemos ver en el programa anterior, solicita un número binario (0 y 1) a los usuarios para almacenar el número en la variable num. En cada iteración, un bucle while verifica la condición del número binario y valida que el número dado no debe ser menor que 0; de lo contrario, sale del bucle.

A continuación se muestra la iteración del bucle while, de la siguiente manera:

1ra iteración:

rem = 1101 % 10 => 1

decimal_num = 0 + 1 * 1 => 1 (decimal_val = 0, rem = 1, & base = 1)

número = 1101 / 10 => 110

bases = 1 * 2 => 2

2da iteración:

cómo encontrar números bloqueados en Android

rem = 110 % 10 => 0

decimal_num = 1 + 0 * 2 => 1 (decimal_val = 1, rem = 0, & base = 2)

número = 110 / 10 => 11

cadena a carbón en java

bases = 2 * 2 => 4

3ra iteración:

rem = 11 % 10 => 1

decimal_num = 1 + 1 * 4 => 5 (decimal_val = 1, rem = 1, & base = 4)

número = 11 / 10 => 1

bases = 4 * 2 => 8

4ta iteración:

c ++ convierte int a cadena

rem = 1 % 10 => 1

decimal_num = 5 + 1 * 8 => 1 (decimal_val = 5, rem = 1, & base = 8)

número = 1 / 10 => 0

base = 8 * 2 => 16

Convierta un número binario en un número decimal usando el bucle for

Consideremos un programa en lenguaje C para convertir la combinación de números binarios (0 y 1) en números decimales usando el bucle for.

decimal.c

 #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(); } 

Producción

cadena a carbón en java
 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 

Convertir un número binario en un número decimal usando la función

Consideremos un programa en lenguaje C para convertir la combinación de números binarios (0 y 1) en números decimales utilizando una función definida por el usuario.

entonces

 #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; } 

Producción

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

Convierta un número binario en un número decimal usando una matriz y una función

Consideremos un programa en lenguaje C para convertir la combinación de números binarios (0 y 1) en números decimales usando una función y una matriz.

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; } 

Producción

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