Os sistemas de computador freqüentemente empregam números binários para representar dados e instruções, mas como os dígitos decimais são mais simples para as pessoas entenderem do que os binários, a conversão é necessária. Este artigo abordará o entendimento entre decimais em binário e fornecerá exemplos de programas de diferentes métodos que convertem decimais em binário na linguagem de programação chamada C.
Como converter decimal para binário em C?
O valor decimal dado é dividido por 2 várias vezes, com o restante sendo registrado até chegarmos a 0 como o quociente final. Este processo é usado para converter números inteiros de decimal para binário. A fórmula que demonstra o processo de conversão de decimal para binário é considerada as etapas que são as seguintes:
Passo 1: Encontre o restante dividindo o número por 2 e adicione-o a uma matriz.
Passo 2: Em seguida, divida o restante por dois.
Etapa 3: Execute as duas primeiras etapas novamente até que o resultado exceda 0.
Passo 4: Exiba a matriz de trás para frente para obter a forma binária do número. O bit menos significativo (LSB) de um número binário está no topo, enquanto o bit mais significativo (MSB) está na parte inferior, que é outra maneira de interpretar isso. O equivalente binário do número decimal fornecido é este.
Para entender isso melhor, aqui está uma conversão de 11 10 na conversão decimal para binário:
Divisão por 2 | Quociente | Restante |
11÷2 | 5 | 1 (LSB) |
5 ÷ 2 | 2 | 1 |
2-2 | 1 | 0 |
1-2 | 0 | 1 (MSB) |
Agora, escreva o restante na ordem inversa, portanto, decimal (11 10 ) torna-se (1011 2 ).
O resto será anotado e então escrito de forma que o (MSB) do número binário venha primeiro, depois o resto. Consequentemente, 1011 2 é o equivalente binário do valor decimal dado 11 10 . Como resultado, 11 10 = 1011 2 . A seguir está a implementação do decimal acima mencionado em conversão binária em linguagem C.
Métodos usados para converter decimal em binário
Esses métodos usados na linguagem C convertem dígitos decimais em binários:
Agora, implemente a conversão de decimais em binários por um pelas abordagens mencionadas acima.
Método 1: Programação Decimal para Binário em C com For Loop
Abaixo está a conversão do dígito decimal (11) em binário com a ajuda do loop for em C:
#includeconversão nula ( int num1 ) {
se ( num1 == 0 ) {
printf ( '0' ) ;
retornar ;
}
int binary_num [ 32 ] ; // assumindo 32 bit inteiro.
int eu = 0 ;
para ( ;num1 > 0 ; ) {
binário_num [ i++ ] = num1 % 2 ;
num1 / = 2 ;
}
para ( int j = i- 1 ; j > = 0 ; j-- )
printf ( '%d' , binário_num [ j ] ) ;
}
int principal ( ) {
int num1;
printf ( 'Digite um número decimal: ' ) ;
scanf ( '%d' , & num1 ) ;
converter ( num1 ) ;
retornar 0 ;
}
O programa acima está usando o loop for para converter o número decimal fornecido pelo usuário em binário. A saída é:
Método 2: Programação Decimal para Binário em C com Loop while
Neste método, o loop while em C é usado para converter o dígito decimal (11), em binário, conforme mostrado abaixo:
#includeint principal ( ) {
int decimal_num, binary_num = 0 , básico = 1 , restante;
printf ( 'Digite um número decimal: ' ) ;
scanf ( '%d' , & decimal_num ) ;
enquanto ( decimal_num > 0 ) {
restante = decimal_num % 2 ;
binary_num = binary_num + resto * base;
decimal_number = decimal_number / 2 ;
base = base * 10 ;
}
printf ( 'O binário do número decimal fornecido com loop while é: %d' , binário_num ) ;
retornar 0 ;
}
As quatro variáveis inteiras decimal_num, binary_num, base e restante são declaradas primeiro neste programa. O usuário insere um decimal_num, que converteremos em seu binary_num. A conversão binária é realizada usando o loop while.
Método 3: Programação Decimal para Binário em C com Pilha
Este é o método direto com um programa C baseado em pilha que altera um valor decimal para um binário:
#include#define MAX_SIZE 32 // número máximo de bits na representação binária
int principal ( ) {
int decimal_num, binário [ TAMANHO MÁXIMO ] , superior = -1 ;
printf ( 'Por favor, digite qualquer número decimal: ' ) ;
scanf ( '%d' , & decimal_num ) ;
enquanto ( decimal_num > 0 ) {
binário [ ++topo ] = decimal_num % 2 ;
decimal_num / = 2 ;
}
printf ( 'O binário de %d usando o método de pilha é: ' ) ;
enquanto ( principal > = 0 ) {
printf ( '%d' , binário [ principal-- ] ) ;
}
retornar 0 ;
}
Primeiro declaramos as três variáveis inteiras top, binary e decimal_num neste programa. O topo é o índice do elemento mais alto na pilha, decimal é o número em uma forma decimal que é inserido pelo usuário, binary é uma matriz que conterá os bits em binário como MAX_SIZE bits e decimal_num é a matriz binária. Depois disso, a conversão binária é realizada usando um loop while.
A saída é:
Método 4: Programação Decimal para Binário em C com Operador Bitwise
Um operador conhecido como operação bit a bit manipula cada um dos bits de símbolos binários que representam números inteiros. O seguinte é um script C básico que usa operações bit a bit para converter um número em decimais em binário:
#include// Este método mostrará todos os 4 bits de um número
conversão nula ( int num1 ) {
// Considere um 4 número de bits
para ( int eu = 3 ; eu > = 0 ; eu-- ) {
bit int = ( 1 << eu ) ;
se ( num1 & pedaço )
printf ( '1' ) ;
outro
printf ( '0' ) ;
}
}
int principal ( ) {
int num1;
printf ( 'Digite um número decimal: ' ) ;
scanf ( '%d' , & num1 ) ;
conversão ( num1 ) ;
retornar 0 ;
}
Este programa executará um loop for através do número começando no bit mais significativo e terminando no bit menos significativo. Executando uma operação “AND bit a bit” em mask e num, podemos determinar se o bit é 0 ou 1. Se for diferente de zero, o bit atual é 1; caso contrário, é 0.
Para mostrar a forma binária de num1, imprima o bit após cada iteração. A saída final após a execução completa será a seguinte:
Conclusão
É uma habilidade essencial em programação de computadores converter números decimais para binários. Transformar números decimais em binários nos permite realizar diferentes operações na programação C. Este artigo forneceu 4 métodos para converter valores decimais em valores binários.