logo

Número binário para decimal em C

Esta seção discutirá a conversão de números binários em números decimais. Antes de passarmos ao conceito, precisamos entender os números binários e os números decimais. Como sabemos, o computador não entende as palavras ou números que os humanos escrevem ou fazem. Em vez disso, ele entende apenas 0 e 1. Por exemplo, quando digitamos uma palavra ou número em um computador, vários softwares ou compiladores ajudam a converter esses números ou palavras em formato binário (bit 0s e 1s). Para que uma máquina de computador possa entendê-los facilmente.

aplicativos ocultos
Número binário para decimal em C

Número binário

Um número binário é um número que representa informações ou dados armazenados em um computador com uma combinação de bits 0s e 1s. Também é conhecido como sistema numérico de base 2 porque possui dois bits, 0s e 1s. Estes são números binários (0 e 1) 1001, 1010, 1101, 1111, 1010101 etc.

Número decimal

Um número decimal é um número que contém 10 dígitos de 0 a 9. Sua base é 10 porque reúne 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) e representa ou faz o número inteiro usando esses dez dígitos.

Algoritmo para converter binário em decimal

  1. Tome um número binário como entrada.
  2. Divida o número por 10 e armazene o restante na variável rem.
  3. núm_decimal = núm_decimal + rem * base;
    Inicialmente, o decimal_num é 0 e a base é 1, onde a variável rem armazena o restante do número.
  4. Divida o quociente do número original por 10.
  5. Multiplique a base por 2.
  6. Imprima o decimal do número binário.

Converta um número binário em um número decimal usando o loop while

Vamos considerar o programa C para converter a combinação de um número binário (0s e 1s) em um número decimal usando um loop 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(); } 

Saída

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

Explicações do código: Como podemos ver no programa acima, ele pede aos usuários um número binário (0s e 1s) para armazenar o número na variável num. A cada iteração, um loop while verifica a condição do número binário e valida que o número fornecido não deve ser inferior a 0; caso contrário, ele sai do loop.

A seguir está a iteração do loop while, como segue:

1ª iteração:

rem = 1101% 10 => 1

755 chmod

núm_decimal = 0 + 1 * 1 => 1 (valor_decimal = 0, rem = 1 e base = 1)

num = 1101 / 10 => 110

base = 1 * 2 => 2

2ª iteração:

rem = 110% 10 => 0

núm_decimal = 1 + 0 * 2 => 1 (valor_decimal = 1, rem = 0 e base = 2)

num = 110 / 10 => 11

base = 2 * 2 => 4

pai jquery

3ª iteração:

rem = 11% 10 => 1

núm_decimal = 1 + 1 * 4 => 5 (valor_decimal = 1, rem = 1 e base = 4)

num = 11 / 10 => 1

base = 4 * 2 => 8

4ª iteração:

rem = 1% 10 => 1

núm_decimal = 5 + 1 * 8 => 1 (valor_decimal = 5, rem = 1 e base = 8)

num = 1 / 10 => 0

enumerações java

base = 8 * 2 => 16

Converta o número binário em número decimal usando o loop for

Vamos considerar um programa em linguagem C para converter a combinação de números binários (0s e 1s) em números decimais usando o loop for.

adicione tudo

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

Saída

 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 

Converta o número binário em número decimal usando a função

Vamos considerar um programa em linguagem C para converter a combinação de números binários (0s e 1s) em números decimais usando uma função definida pelo usuário.

então.

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

Saída

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

Converta número binário em número decimal usando array e função

Vamos considerar um programa em linguagem C para converter a combinação de números binários (0s e 1s) em números decimais usando função e 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; } 

Saída

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