Ir ao conteúdo
  • Cadastre-se
Ayron Matos

Outro Capítulo 1 - Métodos Numéricos - Origem das Incertezas

Recommended Posts

Exercício 1 - Seja o número real x = 10.128 (representação decimal). Escreva sua representação em ponto flutuante, com cinco dígitos, na base 2.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @Ayron Matos

 

Nós não podemos faze o exercício para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo alguma coisa que você já tenha feito.

 

Se puder postar a conta que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ayron Matos, sua dúvida é referente a implementação de um algoritmo em alguma linguagem de programação (se sim, qual?), ou é apenas para efetuar o procedimento manualmente mesmo?

 

Sobre:

4 minutos atrás, Ayron Matos disse:

10.128/2 = 5,064

5.064/= 2,532

2,532/= 1,266

-------------------------

1,266 x 2³

 

Perceba que apenas postou um cálculo... é interessante que insira comentários explicando do que se trata...

 

No aguardo.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Etapa 1º

 

10.128/2 = 5,064

5,064/2 = 2,532

2,532/2 = 1,266

-------------------------

1,266 x 2³

 

Etapa 2º

 

1,266 --------parte flutuante-----------> 0,266

 

0,266 x = 0,532

0,532 x = 1,064

0,064 x 2 = 0,128                              

0,128 x = 0,256

0,256 x = 0,512

0,512 x = 1,024

0,024 x = 0,048

0,048 x = 0,096 

0,096 x 2 = 0,192

0,192 x = 0,384

0,384 x = 0,768

0,768 x = 1,536

0,536 x 2 = 0,072

0,072 x 2 = 0,144

0,144 x 2 = 0,288

0,288 x 2 = 0,576

0,576 x 2 = 1,152

0,152 x 2 = 0,304

0,304 x 2 = 0,608

0,608 x 2 = 1,216

0,216 x 2 = 0,432

0,432 x 2 = 0,864

0,864 x 2 = 1,728

0,728 x 2 = 1,456

0,456 x 2 = 0,912

0,912 x 2 = 1,824

0,824 x 2 = 0,648

0,648 x 2 = 1,296

0,296 x 2 = 0,592

0,592 x 2 = 0,184

0,184 x 2 = 0,368

0,368 x 2 = 0,736

0,736 x 2 = 1,472

0,472 x 2 = 0,944
0,944 x 2 = 1,888
0,888 x 2 = 1,776
0,776 x 2 = 1,552
0,552 x 2 = 0,104
0,104 x 2 = 0,208
0,208 x 2 = 0,416
0,416 x 2 = 0,832
0.832 x 2 = 1,664
0,664 x 2 = 1,328
0,328 x 2 = 0,656
0,656 x 2 = 1,312
      ...          0.624
                   1.248
                   0.496
                   0.992
                   1.984
                   1.968
                   1.936
                   1.872
                   1.744
                   1.488
                   0.976
                   1.952
                   1.904
                   1.808
                   1.616
                   1.232
                   0.464
                   0.928
                   1.856
                   1.712
                   1.424
                   0.848
                   1.696
                   1.392
                   0.784
                   1.568
                   1.136
                   0.272
                   0.544
                   1.088
                   0.176
                   0.352
                   0.704
                   1.408
                   0.816
                   1.632
                   1.264
                   0.528
                   1.056
                   0.112
                   0.224
                   0.448
                   0.896
                   1.792
                   1.584
                   1.168
                   0.336
                   0.672
                   1.344
                   0.688
                   1.376
                   0.750

                   1.500
                   1.000 (Acabou)

 

Problema: primeiro eu tentei fazer manualmente, depois vi que não tinha jeito. Depois fui usar o visualg porque tô acostumado daí chega uma hora que ele arredonda loucamente como na parte que eu deixei em vermelho deveria dar 0,752. O que faço?

algoritmo "numero binário"
// Função :
// Autor :
// Data : 13/07/2018
// Seção de Declarações 
var
   res,contador: Real
inicio
res <- 0.266
Enquanto res<>0 faca
res <- res*2
EscrevaL(res:5:3)
Se res >= 1 então
res <- res - 1
FimSe
FimEnquanto
fimalgoritmo

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

O calculo da mantissa não deveria ir tão longe, colocando em uma calculadora ele muda o decimal para 10.127999305725098 e da dá o resultado de 0 10000010 01000100000110001001001, sobre o resultado do exercício acho melhor você conversar com seu professor para ele te explicar melhor como funciona a normalização, teoricamente é contando o números que ficam a mais na mantissa. 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora, esquecendo o problema que terei que resolver com meu professor. Com relação a terceira etapa do "LINK" que foi passado minha dúvida é com relação a uma parte particular dela:

image.thumb.png.e1923ee843d8f4a24d7e885c9b389f6b.png

por que o número 4 + 127 + 131 resultou em 10000011?

de onde surgiu o valor 131?

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

4 é o expoente, 127 é a norma da IEEE ela fala que tem que somar 127, resultou em 131(127+4), 131 foi convertido para binário e ai você obteve a segunda parte da resposta.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

valor := 10,128 

Parte Inteira ---------------> 10

Parte Flutuante ---------->  0,128

 

10 = 1 x 2³ + 0 x 2² + 1 x 2 + 0 x 1 logo, 1010

//2^-3 = 0,125 2^-7 =0,003(90625 - vai ser desprezada)

0,128 = 0 x 2 ^ -1 + 0 x 2 ^ -2 + 1 x 2 ^ -3 + 0 x 2 ^-4 + 0 x 2 ^ -5 + 0 x 2 ^ -6 + 1 x 2 ^ -7 logo, .0010001

 

Então: 1010.0010001 

Ponto Flutuante: 10100010001.2^4

//Acho que era isso que ele queria 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ayron Matos  2-3 + 2-70,1328125 ≠ 0,128

 

 

 

 

Usando o método indicado pelo @Leonardo0308  :

10,128 / 2 = 5,064

5,064 / 2 = 2,532

2,532 / 2 = 1,266

 

10,128 = 1,266 x 23

 

0,266 x 2 = 0,532

0,532 x 2 = 1,064

0,064 x 2 = 0,128

0,128 x 2 = 0,256

0,256 x 2 = 0,512

0,512 x 2 = 1,024

0,024 x 2 = 0,048

0,048 x 2 = 0,096

0,096 x 2 = 0,192

0,192 x 2 = 0,384

0,384 x 2 = 0,768

0,768 x 2 = 1,536

0,536 x 2 = 1,072

...

 

1,0100010000011... x 23

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×