Mostre que 0,1 não possui representação finita em base 2 e explique as consequências desse fato em computação numérica.

Passo 1

O que o enunciado pede:
  • Mostrar que 0,1 não possui representação finita em base 2.
  • Explicar as consequências desse fato em computação numérica.
Informações relevantes dadas (e que vamos usar):
  • 0,1 em decimal é \dfrac{1}{10}.
  • "Representação finita em base 2" significa que o número pode ser escrito como uma fração cujo denominador é uma potência de 2, isto é, como \dfrac{m}{2^{k}} com inteiros m,k\ge 0.

Passo 2

Prova por contradição simples usando igualdade de frações.
Suponha que 0,1 tenha representação finita em base 2. Então existem inteiros a e k tais que
\frac{1}{10}=\frac{a}{2^{k}}.
Multiplicando em cruz obtemos
2^{k}=10a.
O lado direito 10a é divisível por 5 (pois 10=2\cdot5), logo 2^{k} também deveria ser divisível por 5. Mas 2^{k} é potência de 2 e, portanto, não pode ter o fator primo 5. Isso é uma contradição. Logo a hipótese está errada e 0,1 não tem representação finita em base 2.

Passo 3

Conversão por multiplicação sucessiva mostra explicitamente que a expansão binária é periódica (infinita).
Método: para obter os dígitos binários da parte fracionária, multiplica-se a fração por 2 repetidas vezes; o inteiro obtido em cada passo é o próximo bit e o resto (parte fracionária) segue para o próximo passo.
Começando com f_0=\dfrac{1}{10}:
2 f_0 = \frac{2}{10}=\frac{1}{5}\quad\Rightarrow\quad\text{bit}_1=0,\; f_1=\frac{1}{5}.
2 f_1 = \frac{2}{5}\quad\Rightarrow\quad\text{bit}_2=0,\; f_2=\frac{2}{5}.
2 f_2 = \frac{4}{5}\quad\Rightarrow\quad\text{bit}_3=0,\; f_3=\frac{4}{5}.
2 f_3 = \frac{8}{5}=1+\frac{3}{5}\quad\Rightarrow\quad\text{bit}_4=1,\; f_4=\frac{3}{5}.
2 f_4 = \frac{6}{5}=1+\frac{1}{5}\quad\Rightarrow\quad\text{bit}_5=1,\; f_5=\frac{1}{5}.
Aqui vemos f_5=\dfrac{1}{5}=f_1, então os restos repetem e os bits entram em ciclo. Os bits obtidos começam como
0,0,0,1,1,0,0,1,1,\ldots
ou seja, em binário
0,1_{10} = 0,(0001100110011\ldots)_2,
com o bloco 0011 repetindo. Isso confirma que a expansão binária é infinita e periódica.

Passo 4

Enunciado geral (intuído pela prova acima) e exemplos práticos.
Fato geral: uma fração racional \dfrac{p}{q} (em forma reduzida) tem representação finita na base b se, e somente se, todos os fatores primos de q estão entre os fatores primos de b; equivalente: existe k tal que q\mid b^{k}.
  • Para base 2 isso significa: denominador deve ser potência de 2.
  • No nosso caso \dfrac{1}{10} tem q=10=2\cdot5; o fator 5 não está em \{2\}, logo não existe k com 10\mid 2^{k}. Isso confirma o resultado do Passo 2.
Exemplos rápidos: \dfrac{1}{2}=0,1_{2} tem representação finita em base 2; \dfrac{1}{5}=0,(0011\ldots)_2 é periódico e infinito.

Passo 5

Consequências em computação numérica (explicadas de forma prática e com exemplos)
  1. Armazenamento como aproximação:
    • Números como 0,1=\dfrac{1}{10} não podem ser representados exatamente em binário finito; em máquinas que usam aritmética binária (IEEE 754), \dfrac{1}{10} é armazenado como o número binário mais próximo representável (arredondamento).
    • Logo o valor guardado é uma aproximação: operações com esses números introduzem erro de arredondamento.
  2. Comparações e igualdade:
    • Comparações diretas de igualdade com literais decimais podem falhar. Exemplo prático (frequentemente visto em muitas linguagens): 0,1 + 0,2 \neq 0,3,e o resultado impresso pode ser algo como 0,30000000000000004 (em dupla precisão) — isto é consequência das aproximações binárias.
  3. Acúmulo e propagação de erro:
    • Em somas longas ou algoritmos iterativos os pequenos erros de arredondamento podem somar e produzir desvios significativos.
    • Ordem de somas importa: somar muitos termos de magnitudes diferentes pode perder precisão (errors por cancelamento).
  4. Efeitos em aplicações críticas:
    • Computação financeira ou contábil requer exatidão decimal; usar binário floating-point pode causar erros monetários inaceitáveis.
    • Solução: usar aritmética decimal (ponto flutuante decimal ou decimal de precisão arbitrária), tipos racionais ou inteiros escalados (por exemplo, armazenar centavos como inteiros).
  5. Estratégias práticas para mitigar problemas:
    • Não comparar números de ponto flutuante com igualdade exata; usar tolerância (epsilon): considerar |x-y|<\varepsilon.
    • Usar tipos adequados: decimal de precisão fixa/arbítrária para dinheiro; bibliotecas de múltipla precisão quando necessário.
    • Empregar algoritmos numéricos estáveis: soma compensada (por exemplo, soma de Kahan), ordenação por magnitude, condicionamento de problemas.
    • Conhecer a representação (IEEE 754) e políticas de arredondamento (round-to-even, etc.) ajuda a prever comportamentos.

Passo 6

Resumo motivacional e dica prática rápida:
  • Conclusão técnica: 0,1 não tem representação finita em base 2; na prática isso significa que sempre haverá uma aproximação binária e portanto possíveis erros de arredondamento.
  • Dica de prova: quando for à prova, a razão mais curta e segura é apontar que 0,1=\dfrac{1}{10} e que nenhuma potência de 2 é divisível por 5, logo não existe representação \dfrac{m}{2^{k}}.
  • Dica de programação: se precisa de exatidão decimal (ex.: dinheiro), não use float binário; use decimal/racional/inteiro escalado.

Resposta

Não — 0,1 (ou seja, \tfrac{1}{10}) não possui representação finita em base 2.
Consequência: em computadores binários 0,1 é armazenado como uma aproximação periódica/infinita truncada ou arredondada, causando erros de arredondamento que afetam comparações, somas acumuladas e aplicações que exigem exatidão decimal (soluções: tipos decimais, racionais, precisão arbitrária, uso de epsilon e algoritmos compensados).

Exercícios relacionados