Vírgula flutuante e IEEE 754
Vírgula fixa em formato Q, normais e subnormais, arredondamento e operações IEEE 754.
Vírgula fixa
Qm.n: bits inteiros com sinal, fracionários, , passo , intervalo .
- Escolhe pelo passo e pelo intervalo. Q4.4: passo 1/16, −8…7,9375. dá , código
D4. - Soma: alinha escalas, com overflow de C2. Produto: com intermédio largo para . Divisão: , com , numerador alargado e arredondamento definido.
- não cabe em 8 bits; cabe. Shift aritmético de negativos arredonda para baixo.
Campos
| Formato | Sinal | Expoente | Fração | Bias |
|---|---|---|---|---|
| binary32 | 1 | 8 | 23 | 127 |
| binary64 | 1 | 11 | 52 | 1023 |
| bfloat16 | 1 | 8 | 7 | 127 |
lidos sem sinal; é a largura da fração e é o expoente todo a 1.
- Normal (): . O 1 é implícito só aqui.
- Subnormal (): . : zeros. dá infinito se e NaN se .
- Bfloat16 usa a disposição 1/8/7 da tabela. Não se deve inferir que qualquer operação de bfloat16 segue as mesmas regras de um ambiente IEEE 754 completo.
Codificar e operar
: s=1, E=130, fração 10101 com 18 zeros, 0xC1540000.
- Em binary32, o menor normal positivo é , o menor subnormal positivo é e o maior finito é . Nos normais binary32 em , o passo é ; nos subnormais o passo é fixo em .
- Soma: alinha expoentes, opera significandos, normaliza e arredonda no fim. Multiplicação: XOR dos sinais, soma dos expoentes reais, produto dos significandos, depois normaliza e arredonda.
- Empates para par no último bit conservado. arredonda a : a adição não é associativa.