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
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.