Prof.: José Eustáquio Rangel de Queiroz [email protected] [email protected] [email protected] Carga Horária: 60 horas CEEI asC IEEE 754:2008 CEEI asC Padrão IEEE 754:2008 Publicação em Agosto de 2008 Ampliação da versão anterior (1985) e incorporação do padrão IEEE 854:1987 Formatação e Aritmética Decimal em aspectos deixados indefinidos {joseana, rangel}@asc.ufcg.edu.br Ênfase anteriormente 2 IEEE 754-2008 CEEI asC Alterações Visão Geral Ampliação do escopo a fim de incluir os formatos e aritmética decimal, além da adição de formatos estendidos. {joseana, rangel}@asc.ufcg.edu.br Definições Revisão de definições, a fim melhorar a clareza e a consistência. Modificação de alguns termos, e.g., desnormalizado subnormal. 3 IEEE 754-2008 CEEI asC Mudanças Formatos Os formatos se distinguem entre intercambiavel(com codificação definida pelo padrão) ou não. {joseana, rangel}@asc.ufcg.edu.br s e f S = sinal E = expoente F = mantissa Para representação decimal pode ser usado: Binary Integer Decimal Densely packed decimal 4 IEEE 754-2008 CEEI asC {joseana, rangel}@asc.ufcg.edu.br Nome Nome Comum Base Binary16 Half precision 2 Binary32 Single precision Binary64 binary128 Digitos E min E max Observa ção 10+1 -14 +15 Armazena mento, não basico 2 23+1 -126 +127 Double precision 2 52+1 -1022 +1023 Quadruple precision 2 112+1 -16382 +16383 Decimal32 10 7 -95 +96 Decimal64 10 16 -383 +384 decimal128 10 34 -6143 +6144 Armazena mento, não básico 5 IEEE 754-2008 CEEI asC Exemplo 01: Transformar 45.678,98765 para a representação binary64. Como o número é positivo: s0 Na forma normalizada, a mantissa será: {joseana, rangel}@asc.ufcg.edu.br f 0110010011011101111110011010110101000010110000111101 E o expoente na forma normalizado será do valor: e 15 e' 10000001110 6 IEEE 754-2008 CEEI asC Mudanças Arredondamento Arredondamento {joseana, rangel}@asc.ufcg.edu.br próximo par para número mais Considerando um número quaisquer, ele será arredondado para o número mais próximo, caso o dígito seja o médio então será arredondado para o par mais próximo. Exemplo: +23.5 +24 / -22.5 -22 / +22.5 +22 -23.5 -24 7 IEEE 754-2008 CEEI asC Mudanças Arredondamento Arredondamento para {joseana, rangel}@asc.ufcg.edu.br distante de zero o próximo Considerando um número quaisquer, ele será arredondado para o número mais próximo, caso o digito seja o médio então será arredondado para o valor mais distante de zero. Exemplo: +23.5 +24 -22.5 -23 / / +22.5 +23 -23.5 -24 8 IEEE 754-2008 CEEI asC Mudanças Arredondamento Arredondamento para mais próximo de {joseana, rangel}@asc.ufcg.edu.br zero Considerando um número quaisquer, ele será arredondado para o número mais próximo de zero. Esse método também é conhecido como truncamento. Exemplo: +23.5 +23 -22.5 -22 / / +22.5 +22 -23.5 -23 9 IEEE 754-2008 CEEI asC Mudanças Arredondamento Arredondamento para infinito positivo Considerando um número quaisquer, ele será arredondado para o número mais próximo do infinito positivo. {joseana, rangel}@asc.ufcg.edu.br Exemplo: +23.5 +24 +22.5 +23 -22.5 -22 -23.5 -23 10 IEEE 754-2008 CEEI asC Mudanças Arredondamento Arredondamento para infinito negativo Considerando um número quaisquer, ele será arredondado para o número mais próximo do infinito negativo. {joseana, rangel}@asc.ufcg.edu.br Exemplo: +23.5 +23 +22.5 +22 -22.5 -23 -23.5 -24 11 CEEI IEEE 754-2008 asC {joseana, rangel}@asc.ufcg.edu.br Mudanças Operações Dentre as operações novas estão o: Fused multiply-add(FMA); Conversões explicitas; Predicados de classificação (isNaN(x), etc.); Várias funções de mínimo e máximo; Um predicado de ordenação total Duas operações específicas para decimais(samequantum e quantização). 12 IEEE 754-2008 CEEI asC Mudanças Operações Mínimo-Máximo: min(-0, +0) = -0 min(+0, -0) = +0 {joseana, rangel}@asc.ufcg.edu.br Retorna sempre o primeiro termo. min(x, NaN) = min(NaN, x) = x max(x, NaN) = max(NaN, x) = x 13 CEEI IEEE 754-2008 asC {joseana, rangel}@asc.ufcg.edu.br Valores Especiais 14 CEEI IEEE 754-2008 asC Bibliografia {joseana, rangel}@asc.ufcg.edu.br Padrão IEEE 754 para Aritmética Binária de Ponto Flutuante, Gerardo Valdisio Rodrigues Viana What Every Computer Scientist Should Know About Floating-Point Arithmetic DRAFT Standard for Floating-Point Arithmetic P754/D0.13.6 2005 August 10 09:44 DRAFT Standard for Floating-Point Arithmetic P754, 2006 October 04 15 CEEI asC José Eustáquio Rangel de Queiroz [email protected] [email protected] {joseana, rangel}@asc.ufcg.edu.br Equipe: Antonio Victor 20611116 UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO 16