domingo, 5 de dezembro de 2010

12) Escreva um que leia um número e escreva sua representação em binário.

Para tal, o número decimal deve ser dividido (divisão inteira) sucessivamente por 2, até que não seja mais possível dividi-lo. O resto de cada divisão fornece cada bit da representação em binário. O primeiro resto corresponde ao bit mais à direita (menos significativo); o último resto corresponde ao bit mais à esquerda (mais significativo). Por exemplo, a representação em binário do número 10421 será obtida através da seguinte seqüência de divisões:
1ª divisão 10421 ÷ 2 = 5210; resto 1 (bit mais à direita);
2 ª divisão 5210 ÷ 2 = 2605; resto 0;
3 ª divisão 2605 ÷ 2 = 1302; resto 1;
4 ª divisão 1302 ÷ 2 = 651; resto 0;
5 ª divisão 651 ÷ 2 = 325; resto 1;
6 ª divisão 325 ÷ 2 = 162; resto 1;
7 ª divisão 162 ÷ 2 = 81; resto 0;
8 ª divisão 81 ÷ 2 = 40; resto 1;
9 ª divisão 40 ÷ 2 = 20; resto 0;
10 ª divisão 20 ÷ 2 = 10; resto 0;
11 ª divisão 10 ÷ 2 = 5; resto 0;
12 ª divisão 5 ÷ 2 = 2; resto 1;
13 ª divisão 2 ÷ 2 = 1; resto 0;
14 ª divisão 1 ÷ 2 = 0; resto 1 (bit mais à esquerda);
Logo, 10421

10 corresponde a 101000101101012
 
(em construção rs rs)
algoritmo “Conversão de decimal para binário”
var
  numero,bit,x,y:inteiro
inicio
  escreva(“Digite um número que corresponde na base 10: “)
  leia(numero)
  repita
    y<-numero mod 2
    escreva(y)
    x<-numero div 2
    numero<-x
  ate(numero<1)
fimalgoritmo

Nenhum comentário:

Postar um comentário