Represente 7.3 no sistema binário ( \beta=2 ) de ponto flutuante com 8 dígitos da mantissa ( t=8 ).
Seja
f(x)=\sqrt{1+x^{2}}-x .
Passo 1
Enunciado e dados fornecidos. Temos duas perguntas:
Representar 7,3 no sistema de ponto flutuante de base \beta=2 com t=8 dígitos na mantissa. Informação relevante: número decimal 7,3.
Dada a função
f(x)=\sqrt{1+x^{2}}-x,
devemos manipular/analisar essa expressão (ou obter uma forma numericamente estável). Nenhuma outra informação (como formato de expoente) foi dada, então usaremos a convenção usual de ponto flutuante normalizado em base 2 com t dígitos significativos (isto é, a mantissa tem t dígitos com o primeiro dígito não nulo).
Passo 2
Converter a parte inteira e a parte fracionária de 7,3 para binário. Primeiro a parte inteira:
7 = 111_2,
pois 7 = 1\cdot2^{2}+1\cdot2^{1}+1\cdot2^{0}. Agora convertemos a parte fracionária 0,3 para binário usando multiplicações sucessivas por 2:
Normalizar e preparar para arredondamento com t=8. Para representação normalizada em base 2 deslocamos o ponto para obter forma 1.\text{(mantissa)}\times2^{e}:
A mantissa normalizada (começando com 1) tem dígitos (após o ponto): 110100110011\ldots. Pela convenção, t=8 significa que a mantissa possui 8 dígitos significativos no total (o primeiro dígito não-nulo mais t-1 dígitos seguintes). Assim mantemos o primeiro dígito 1 seguido de 7 dígitos fracionários.
Passo 4
Escolher os t=8 dígitos e decidir o arredondamento. Os primeiros 8 dígitos da mantissa (incluindo o primeiro 1) são
1.\underbrace{1\,1\,0\,1\,0\,0\,1}_{\text{7 bits fracionários}} \quad\text{(ou seja }1{.}1101001_2\text{)}.
O próximo bit descartado (o bit de guarda) é 1 (veniente da repetição), e ainda há bits não nulos além dele. Usamos arredondamento para o mais próximo (round-to-nearest): como o bit de guarda é 1 e há cauda não-nula, devemos arredondar para cima adicionando 2^{-7} (o valor do último bit mantido) à mantissa.
Passo 5
Fazer o arredondamento em binário. A mantissa truncada é 1{.}1101001_2. Adicionamos 0{.}0000001_2 (que vale 2^{-7}) para arredondar para cima:
1{.}1101001_2 + 0{.}0000001_2 = 1{.}1101010_2.
Não houve “overflow” na mantissa que mudasse o expoente, porque a soma não virou 10{.}\ldots. Assim a representação com t=8 dígitos, arredondada para mais próximo, é
1{.}1101010_2\times2^{2}.
Passo 6
Calcular o valor decimal aproximado que essa representação guarda, e o erro. A mantissa 1{.}1101010_2 tem valor
Multiplicando por 2^{2}=4 obtemos o número armazenado
4\cdot1{,}828125=7{,}3125.
O erro absoluto em relação a 7{,}3 é 7{,}3125-7{,}3=0{,}0125 e o erro relativo é aproximadamente 0{,}0125/7{,}3\approx0{,}001712 (cerca de 0{,}1712\%).
Passo 7
Agora tratamos a função \,f(x)=\sqrt{1+x^{2}}-x. Primeiro observação qualitativa: para x grande, ambos os termos \sqrt{1+x^{2}} e x são grandes e próximos entre si, de modo que a subtração causa perda de dígitos significativos por cancelamento (catástrofe de cancelamento). Em aritmética finita isso produz grande erro relativo no resultado. Para evitar isso procuramos uma forma algébrica equivalente que não subtraia dois números quase iguais.
Passo 8
Reescrever f(x) multiplicando numerador e denominador pela conjugada:
Essa forma evita a subtração direta de duas quantidades grandes: o resultado é uma divisão por uma soma (denominador próximo de 2x quando x é grande), o que é numericamente estável para valores grandes de x.
Passo 9
Interpretação numérica e comportamento assintótico. A forma alternativa
f(x)=\frac{1}{\sqrt{1+x^{2}}+x}
é preferível para computação quando |x| é grande porque evita cancelamento. Além disso, para x\to+\infty temos a aproximação assintótica (expansão em potências de 1/x):
o que também ajuda a estimar a magnitude do resultado e o número de cancelamentos esperados.
Resposta
7{,}3 \approx 1{.}1101010_{2}\times2^{2} (valor armazenado =7{,}3125).\n f(x)=\sqrt{1+x^{2}}-x=\dfrac{1}{\sqrt{1+x^{2}}+x} (forma numericamente estável; para x grande f(x)\sim\dfrac{1}{2x}).