<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Olá<br>
<br>
Como os colegas já colocaram a conversão do número binário para um
número real não é trivial.<br>
Se você pretende trabalhar com alta precisão numérica você precisa
estudar o deus da informática - ponto flutuante - (<i>floating
point).</i><br>
<br>
sugiro a leitura:<br>
<br>
<a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Floating_point">https://en.wikipedia.org/wiki/Floating_point</a><br>
<br>
<a class="moz-txt-link-freetext" href="https://pt.wikipedia.org/wiki/Ponto_flutuante">https://pt.wikipedia.org/wiki/Ponto_flutuante</a><br>
<br>
<a class="moz-txt-link-freetext" href="http://www.burns-stat.com/pages/Tutor/R_inferno.pdf">http://www.burns-stat.com/pages/Tutor/R_inferno.pdf</a><br>
<br>
O R sempre trabalha com o 22 dígitos, a função options(digits = )
controla o número de dígitos que será visualizado.<br>
A precisão está em 16 dígitos<br>
<br>
Verifique:<br>
<br>
options(digits = 22)<br>
#options(digits = 16)<br>
<br>
(x1 = 10^-324)<br>
(x2 = 10^-323)<br>
(y1 = 10^+308)<br>
(y2 = 10^+309)<br>
<br>
(n17 = 0.00000000000000001)<br>
(n16 = 1.0000000000000001)<br>
(n15 = 1.000000000000001)<br>
(n14 = 1.00000000000001)<br>
(n13 = 1.0000000000001)<br>
(n12 = 1.000000000001)<br>
(n11 = 1.00000000001)<br>
(n10 = 1.0000000001)<br>
(n09 = 1.000000001)<br>
(n08 = 1.00000001)<br>
(n07 = 1.0000001)<br>
(n06 = 1.000001)<br>
(n05 = 1.00001)<br>
(n04 = 1.0001)<br>
(n03 = 1.001)<br>
(n02 = 1.01)<br>
(n01 = 1.1)<br>
(n00 = 1)<br>
<br>
n16 + n17<br>
n15 + n16<br>
n14 + n15<br>
<br>
(n14 + n15) == 2.00000000000001110223 <br>
(n14 + n15) == 2.0000000000000111<br>
(n14 + n15) == 2.000000000000011 <br>
(n14 + n15) == 2.00000000000001<br>
<br>
0 == n17<br>
1 == n16<br>
1 == n15<br>
<br>
.1 <br>
.2<br>
.1 + .2<br>
.3<br>
.1 + .2 == .3<br>
<br>
bons estudos!<br>
<br>
<div class="moz-cite-prefix">Em 22/04/2016 08:19, Rodrigo Coster
escreveu:<br>
</div>
<blockquote
cite="mid:CAKU4wouG=X5OSGu7w=84omgDYCrCzMr_7jK8oMsrFBK6FFkE+w@mail.gmail.com"
type="cite">
<div dir="ltr">Contribuindo com a resposta do Jobenil, isso
acontece porque a representação do teu número em binário é uma
dizima periódica (agora não tenho certeza se é só dizima ou
dizima periódica) - isso é: tem infinitas casas decimais. Por
não ter como armazenar as infinitas casas, ele é arredondado e
por isso esse 'resíduo'. Embora parece algo que possa ser
ignorado, devemos nos preocupar com esses casos, como mostra o
exemplo:<br>
<br>
> .1 + .2<br>
[1] 0.3<br>
> .1 + .2 == .3<br>
[1] FALSE<br>
<br>
<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2016-04-22 8:11 GMT-03:00 Jobenil Luiz
Magalhães Júnior <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:pjobenil@gmail.com"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:pjobenil@gmail.com">pjobenil@gmail.com</a></a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Bom dia
Júlio,<br>
Acho que é devido ao processo de conversão interna de
decimal para binário e vice versa. Como você exige que a
representação dos números tenham 22 dígitos na reconversão
de P para decimal ele retorna essa precisão.<br>
Teste outro número por exemplo 665.5, penso que não
encontrará este problema pois sua representava binária será
exata.<br>
<br>
Atenciosamente<br>
Jobenil Junior<br>
<br>
<br>
Enviado do meu iPad<br>
<div>
<div class="h5"><br>
> Em 21 de abr de 2016, às 19:35, julio cesar
oliveira <<a moz-do-not-send="true"
href="mailto:oliveirajc@ufv.br">oliveirajc@ufv.br</a>>
escreveu:<br>
><br>
> Colegas,<br>
><br>
> Sou novato no R, e por isso gostaria da ajuda para
esclarecer algumas dúvidas.<br>
><br>
> Preciso que os cálculos sejam realizados com máxima
precisão em relação ao número de casas decimais. Por
isso tenho a seguinte dúvida:<br>
><br>
> 1) Como configurar as casas decimais no R ?<br>
><br>
> estou usando o comando options(digits=22) para
apresentar os dados com 22 casas. Além dele posso
trabalhar com o pacote (Rmpfr)<br>
><br>
> exemplo<br>
><br>
> > mpfr(665.598,128)<br>
> 1 'mpfr' number of precision 128 bits<br>
> [1] 665.5979999999999563442543148994445800781<br>
><br>
> 2) por que aparece um resíduo? por exemplo<br>
><br>
> p<- 665.598<br>
> > p<br>
> [1] 665.5979999999999563443<br>
><br>
> Grato<br>
><br>
> julio<br>
</div>
</div>
> _______________________________________________<br>
> R-br mailing list<br>
> <a moz-do-not-send="true"
href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
> <a moz-do-not-send="true"
href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
> Leia o guia de postagem (<a moz-do-not-send="true"
href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer"
target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e
forneça código mínimo reproduzível.<br>
_______________________________________________<br>
R-br mailing list<br>
<a moz-do-not-send="true"
href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a moz-do-not-send="true"
href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br"
rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a moz-do-not-send="true"
href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer"
target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e
fornea cdigo mnimo reproduzvel.</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
R-br mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a class="moz-txt-link-freetext" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forne�a c�digo m�nimo reproduz�vel.</pre>
</blockquote>
<br>
</body>
</html>