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

  1. 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.
  2. 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.
  3. O programa então solicita que o usuário insira o número decimal que deseja converter.
  4. O programa entra em um laço while que continuará iterando até que o número decimal (num) seja maior que zero.
  5. 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.
  6. 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.
  7. O número decimal (num) é dividido por 2 (num = num / 2) para continuar a conversão, removendo o dígito menos significativo.
  8. 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.
  9. 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é!

Sobre Fábio dos Reis (1223 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*