Olá Jiangang You,
DADOS: l_calc_base TIPO f.
l_calc_base = ( 2008 - 163 ) / 2000.
O resultado é 9.2249999999999999E-01
Números de Punto Flotante
O tipo de dados para números de ponto flutuante f tem um intervalo de valores de 2,2250738585072014E-308 a 1,7976931348623157E+308, positivos e negativos, e o número 0, com uma precisão de pelo menos 15 casas decimais.
Você não pode inserir números de ponto flutuante diretamente em seu programa. Em vez disso, você deve usar literais de texto que podem ser interpretados como números de ponto flutuante, ou seja, contêm um número em notação científica . Notação matemática ou notação comercial não são permitidas a menos que possam ser interpretadas como notação científica.
As expressões aritméticas com tipo de cálculo f são realizadas utilizando aritmética de ponto flutuante . Use isso se precisar de um intervalo de valores muito grande ou estiver realizando cálculos decimais, mas leve em consideração as seguintes características da aritmética de ponto flutuante.
Internamente, o expoente e a mantissa dos números de ponto flutuante são armazenados separadamente, cada um em duas partes. Isso pode levar a resultados inesperados, apesar do alto grau de precisão intrínseca. Isso ocorre principalmente ao realizar conversões de e para o tipo f .
- Por exemplo, o número 1.5 pode ser representado exatamente nesta notação, pois 1.5 = 1*2**0 + 1*2**(-1), mas o número 0.15 só pode ser representado aproximadamente pelo número 0,14999999999999999. Se você arredondar 0.15 para cima para 1 dígito válido, o resultado é 0.1 em vez de 0.2 que você esperaria. Por outro lado, o número 1,5E-12 é representado pelo número 1,5000000000000001E-12, que seria arredondado para cima para 2E-12.
- Outro exemplo que ocorreu na realidade é o cálculo de 7.27% de 73050 com uma precisão de 2 casas decimais. O resultado intermediário é 5.3107349999999997E+03, já que o resultado correto, 5310.735 não pode ser representado exatamente em duas partes com 53 bits. (Se