• Matéria: Informática
  • Autor: jullrodrigues1201
  • Perguntado 8 anos atrás

Nesse projeto você deve criar um programa no Scracth onde o usuário irá digitar um número decimal entre 0 e 100 e o programa deve converter esse número e exibir o resultado em binário.


Tentei fazer, mas acho que não deu muito certo. Alguém pode dar uma olhada e ver o que está errado? Devo adicionar/acrescentar algo?

Respostas

respondido por: raqueleliude
0
Ola! 

Números binário →São representados por 0 e 1 O computador só compreende 0 e 1 onde 0 representa a ausência de informação e 1 a presença, ou seja, negativo e positivo. O computador recebe essas informações através de impulso elétrico, cada impulso é nomeado como bit.

 


Números decimal →São números compreendidos na base de 10 valores facilmente compreendido e interpretados por nos humanos mas não pelas maquinas.

 


O código para conversão ficara assim:

 

 


#include <stdio.h>

int bin_to_dec(int bin)
{
    int total  = 0;
    int potenc = 1;

    while(bin > 0) {

 

// utilizamos o % e / são modificadores de acesso % retorna o reto da divisão e o / retorna o valor da divisão.


        total += bin % 10 * potenc;
        bin    = bin / 10;
        potenc = potenc * 2;

        fprintf(stderr, "while\n");
    }

    return total;
}

int main(void)
{
    int dec = 0;
    int bin = 0;

    printf("Digite um valor inteiro (0's e 1's): ");
    scanf("%d", &bin);

    dec = bin_to_dec(bin);

    printf("Bin = %d - Dec = %d\n", bin, dec);

    return 0;
}


Espero ter ajudado, bons estudos. 
Perguntas similares