Programa que converte um número de decimal para binário em C++
Conversão de decimal para binário em C++
Fala pessoal! Neste tutorial vamos criar um pequeno programa que permite realizar a conversão de um número decimal, fornecido pelo usuário, em seu equivalente binário, usando a linguagem C++.
Usaremos o método das divisões sucessivas por 2, com o emprego da operação aritmética de módulo (resto da divisão inteira) para realizar essa conversão de bases numéricas.
Vamos ao código.
Código: Converter decimal em binário em C++
#include<iostream> using namespace std; int main() { int num, soma[100], i=0; // Solicita ao usuário que o número decimal a ser convertido cout<< "CONVERSÃO DE UM NÚMERO DECIMAL EM BINÁRIO \n"; cout<<"Digite o número a converter e pressione ENTER: \n"; cin>>num; // Exibe o número decimal que será convertido cout<<"Número a converter: "; cout<<num; // O loop a seguir realiza a conversão do número decimal em binário while (num > 0) { soma[i] = num % 2; // Calcula o resto da divisão por 2 (que é 0 ou 1) i = i + 1; // Incrementa o índice para armazenar o próximo dígito binário num = num / 2; // Divide o número decimal por 2 para continuar a conversão } // Exibe o número binário convertido cout<<"\nNúmero convertido em binário: "; for(int j=i-1;j>=0;j--) { cout<<soma[j]; // Mostra os dígitos binários na ordem correta } return 0; }
Teste
CONVERSÃO DE UM NÚMERO DECIMAL EM BINÁRIO Digite o número a converter e pressione ENTER: 1650 Número a converter: 1650 Número convertido em binário: 11001110010
Funcionamento do Código
- O programa inicia com a inclusão da biblioteca iostream para permitir entrada e saída no console (cin e cout), usando o namespace std para evitar a necessidade de usar std:: antes das funções cin e cout.
- Na sequência declaramos algumas variáveis, incluindo num para armazenar o número decimal inserido pelo usuário, um vetor (array) soma para armazenar os dígitos binários e i para controlar o índice de soma.
- O programa então solicita que o usuário insira o número decimal que deseja converter.
- O programa entra em um laço while que continuará iterando até que o número decimal (num) seja maior que zero.
- Dentro desse laço, é calculado o resto da divisão (módulo) do número decimal por 2 usando num % 2. Isso resulta em 0 ou 1, que é o dígito binário correspondente ao dígito menos significativo do número decimal.
- O dígito binário calculado é armazenado no array soma[i], onde i é o índice atual do array. O índice é então incrementado para armazenar o próximo dígito binário.
- O número decimal (num) é dividido por 2 (num = num / 2) para continuar a conversão, removendo o dígito menos significativo.
- Após a conclusão do loop, o programa exibe o número binário resultante. Ele faz isso percorrendo o array soma na ordem reversa (do dígito mais significativo para o menos significativo) e exibindo cada dígito binário.
- O programa finalmente retorna 0, indicando que a execução foi bem-sucedida.
É isso aí! No próximo artigo faremos o processo inverso: faremos a conversão de um valor binário fornecido pelo usuário em sua representação decimal com C++.
Até!
Escreva um comentário