Visitante
Introdução
Neste seção estudaremos o conceito de algarismos significativos e a representação em ponto flutuante. Por fim, definiremos o que é um sistema em ponto flutuante e estudaremos algumas de suas características.
Algarismos significativos
Antes de estudarmos os sistemas em ponto flutuante, precisamos conhecer o conceito de algaristmos significativos, cuja definição encontra-se abaixo
os Algarismos significativos de um número são aqueles que podem ser usados com confiança. Correspondem ao número de algarismos corretos de uma medida mais um algarismo estimadoPor exemplo, suponha que usemos uma régua de 30cm para medir o comprimento de um lápis, conforme figura abaixo:
Fonte: http://www.ufjf.br/fisica/files/2010/03/01_Pratica1.pdf
Uma leitura correta do comprimento $L$ do lápis seria $L = 6,45cm$. Observe que, pelas marcações da régua, é possível ter certeza dos dois primeiros algarismos da leitura, ou seja, $6,4$. Como o lápis mede entre $6,4$ e $6,5$, podemos usar nossa intuição para inferir, ou seja, estimar um terceiro dígito para a medição.
Dessa forma, são leituras corretas do comprimento do lápis valores de $L=6,44cm$, $L=6,46cm$ e assim por diante. Note, porém, que não é correto dizer, baseado na leitura da régua, que o comprimento do lápis é de $L=6,469cm$, pois nesse caso estaríamos estimando dois algarismos (69) ao invés de um. Dizemos, portanto, que a medida $L$ possui 3 algarismos significativos. Observe que uma régua escolarcomo essa (de 30cm) pode nos fornecer medições com, no máximo, 4 algaristmos significativos. É o caso de lermos algo do tipo $M = 13,38cm$.
Por último, observe que a quantidade de algarismos significativos de um número independe da unidade de medida. Em metros, o comprimento do lápis segundo essa régua seria de $L = 0,0645m$. Note que, nesse caso, os os primeiros dois zeros no número não são significativos, pois sabemos que $L$ possui somente 3 algarismos significativos. No entanto, se usarmos uma régua com subdivisções do centímetro (um paquímetro, por exemplo), a medição do lápis certamente teria mais do que 3 algarismos significativos.
Para evitar confusão e identificar a quantidade exata de algaritmos significativos de um número, os engenheiros e cientistas costumam usar a notação científica. Em notatção científica normalizada, a medição $L$ do lápis seria escrita da seguinte forma: $L = 6,46\times 10^0cm$ ou $L = 6,46\times 10^{-2}m$.
Nos dois casos conseguimos identificar, de imediato, que ambos os números possuem três algarismos significativos. Outro exemplo de um número em notação científica é $M = 4,32900\times 10^3$. Nesse caso, os dois zeros são significativos, de forma que $M$ possui 6 algarismos significativos.
Notação em ponto flutuante
A notação em ponto flutuante é semelhante à notação científica e é mais adequada para estudar sistemas computacionais. A representação de um número $x$ em um ponto flutuante normalizada é:
$$
\begin{aligned}
x &= \pm 0,d_1d_2\dots d_p \times \beta^e \\
&= d\times \beta^e,
\end{aligned}
$$
onde $d$ é chamado de mantissa do número, $\beta$ é a base do sistema de numeração, $e$ é o expoente do número e $p$ é precisão da representação. Além disso:
$$
d_1 \neq 0
$$
e
$$
d_1,d_2,\dots,d_p \in \{0,1,\dots,\beta-1\}.
$$
Por exemplo, a representação do número $x = -234,56$ em notação de ponto flutuante normalizada é:
$$
x = -0,23456\times 10^3.
$$
Note que o número $x$ possui precisão de $p=5$ algarismos significativos.
Por outro lado, escrevendo $x$ nas formas $x = -2,3456\times 10^2$ ou $x = -0,023456\times 10^4$ não estaríamos usando a notação em ponto flutuante normalizada. Para estar nesse formato, a parte inteira da mantissa tem que ser igual a zero e o primeiro dígido à direita da vírgula deve ser diferente de zero.
Sistemas em ponto flutuante
Sistemas em Ponto Flutuante são a base para construção de unidades de lógica e artimética de sistemas computacionais digitais, tais como calculadoras e computadores. Como um computador não pode ter precisão infinita, define-se, incialmente, a precisão padrão com a qual a máquina digital efetuará os cálculos, bem como a magnitude dos números que podem ser representados pela máquina.
Um sistema em ponto flutuante é definido por uma base numérica $\beta$, por uma precisão $p$ e por limitantes $m$ e $M$ (inteiros) para o valor do expoente. Para indicar um determinado sistema, escrevemos: $$ F(\beta,p,m,M). $$ Um número qualquer representado nesse sistema $F$ é escrito da seguinte forma: $$ \begin{aligned} x &= \pm 0,d_1d_2\dots d_p \times \beta^e \\ &= d\times \beta^e, \end{aligned} $$ onde o expoente $e$ é um inteiro tal que $m\leq e\leq M$ e $d_1\neq 0$, pois a representação $x$ deve estar sempre normalizada.Para representar um número qualquer em um sistema $F(\beta,p,m,M)$ quase sempre precisamos realizar uma operação de truncamento ou de arrendondamento para deixá-lo com exatos $p$ algaritmos significativos. Sendo assim, definimos as seguintes regras:
Seja $x$ a representação de um número em ponto flutante normalizada. Truncar o número $x$ para precisão $p$ significa conservar todos os dígitos $d_i$, $i\leq p$, e despresar os dígitos $d_i$ tais que $i>p$.Para o arredondamento:
Seja $x$ a representação de um número em ponto flutante normalizada. Arredondar o número $x$ para precisão $p$ significa despresar os dígitos $d_i$ tais que $i>p$. O valor do dígito $d_p$ será: $$ d_p = \begin{cases} d_p, & \text{ caso } d_{p+1} < \beta/2,\\ d_p+1, & \text{ caso } d_{p+1} \ge \beta/2. \end{cases} $$Neste curso, trabalharemos somente com o arredondamento para a representação de números em sistemas em ponto flutuante.
Exemplo
Represente o número $\pi$ no sistema em ponto flutuante $F(10, 5, -4,4)$.
Solução:
Para representar qualquer número em um determinado sistema $F$, em particular $\pi = 3,14159265 \dots$, devemos realizar os seguintes passos:
- Escrever o número em notação de ponto flutuante normalizada: $$ \pi = 0,314159265\dots\times 10^1. $$
- Realizar o arredodamento para $p$ dígitos. Nesse caso, $p = 5$. Logo: $$ \pi = 0,31416\times 10^1 $$ é a representação de $\pi$ no sistema $F$.
Regiões de representação
Os sistemas em ponto flutuante $F(\beta,p,m,M)$ só podem representar com exatidão uma quantidade finita de números. Além disso, a precisão $p$ e os parâmetros $m$ e $M$ dos expoentes limitam a precisão e a magnitude das grandezas que podem ser representadas.
Assim, considerando que a representação em $F(\beta,p,m,M)$ é sempre feita de forma normalizada, temos que:
$$ x_m = 0,\underset{p \text{ dígitos}}{\underbrace{100\dots0}} \times \beta^m $$ é o menor real positivo representável em $F$.Analogamente:
$$ x_M = 0,\underset{p \text{ dígitos}}{\underbrace{(\beta-1)(\beta-1)\dots(\beta-1)}} \times \beta^M $$ é o maior real positivo representável em $F$.Em valores, o número $x_m$ pode ser expresso como: $$ x_m = \beta^{m-1} $$ e $$ x_M = (1-\beta^{-p})\beta^M. $$
Como os números representados podem ser positivos ou negativos, define-se as regiões de valores representáveis, como sendo a união dos intervalos $[-x_M;-x_m]\cup (x_m;x_M]$. Números muitos pequenos, em valor absoluto, também não são representáveis. Assim, a região $(-x_m;x_M)$ é chamada de região de
Exemplos
Seja o sistema em ponto flutuante $F(10,3,-2,2)$. Quais as regiões de números representáveis? Quais as regiões de
Solução:
O cálculo os valores de $x_m$ e $x_M$ são:
$$
\begin{aligned}
x_m &= 0,100\times 10^{-2}\\
&= 10^{-3} = 0,001.
\end{aligned}
$$
e
$$
\begin{aligned}
x_M &= 0,999\times 10^2\\
&= 99,9
\end{aligned}
$$
As regiões estão ilustradas na imagem abaixo
Como vemos, $x = 103,45$ não pode ser representado no sistema $F$, pois ele é maior do que o valor de $x_M$.