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