aula 164

Como converter um número decimal em binário?

Nesta aula vamos aprender como converter um número decimal em binário. Na computação é muito comum ouvirmos falar sobre a base numérica binária. Se você pensa em fazer algum curso de tecnologia é bem provável que em alguma disciplina você tenha que converter números decimais em sua forma binária. Então, nesta aula você terá uma amostra do que te aguarda. Nós aprenderemos a converter um número inteiro na base decimal em sua forma binária.

O processo para “traduzirmos” um número inteiro decimal em seu correspondente binário é bem simples. Basicamente, precisamos fazer uma série de divisões por 2 até obtermos resto 1.

Imagine que desejamos converter o número 3 para a base binária. Vamos fazer sucessivas divisões por 2 até obtermos o resultado 1. No caso do 3 será apenas uma divisão.

ResultadoResto
3 / 211
Processo de divisão por 2 até obter o resultado 1 para converter o 3 para binário.

Finalizada a divisão, o número 3 em binário é formado pelo último resultado seguidos dos restos, assim: 11

Para deixar bem claro como funciona este processo, vamos agora converte o 4 para binário.

ResultadoResto
4/220
2/210
Processo de divisão por 2 até obter o resultado 1 para converter o 4 para binário.

O número 4 em binário é formado pelo último resultado seguido pelos restos, assim: 100

Vamos agora traduzir o número 26

ResultadoResto
26/2130
13/261
6/230
3/211
Processo de divisão por 2 até obter o resultado 1 para converter o 26 para binário.

O número 26 em binário é formado pelo último resultado (igual a 1) seguido pelos restos, assim: 11010

Neste processo, perceba que o número binário inicia no final do processo de divisão. Quando obtemos o resultado 1, este 1 é o primeiro dígito da resposta em binário, seguido pelos restos.

Obtemos o mesmo resultado se fizermos mais uma divisão e pegarmos apenas os restos, assim:

ResultadoResto
26/2130
13/261
6/230
3/211
1/201
Processo de divisão por 2 até obter o resultado 1 para converter o 26 para binário.

Agora temos um ponto de parada claro: quando resultado for zero!

Como estamos trabalhando com recursão, quando n for zero basta imprimir zero (é nosso ponto de parada). Contudo, quando n for diferente de zero, faremos a chamada recursiva para o resultado da divisão de n por 2 e, na sequência, imprimiremos o resto da mesma divisão. Ao final teremos nossa resposta impressa na tela.

Código em C para conversão de um número inteiro decimal em binário

#include <stdio.h>
#include <stdlib.h>

/*
        Escrito por Wagner Gaspar
        Março de 2021

        Aula 164: Faça um procedimento recursivo para converter um número decimal n para sua forma binária.
*/

void binario(int n){
    if(n == 0)
        printf("%d", n);
    else{
        binario(n/2);
        printf("%d", n % 2);
    }
}

int main () {

    int n;

    printf("Digite um valor decimal: ");
    scanf("%d",&n);

    binario(n);

    return 0;
}

Deixe um comentário

14 + 11 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.