Vírgula flutuante e IEEE 754

Vírgula fixa em formato Q, normais e subnormais, arredondamento e operações IEEE 754.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Vírgula fixa

Qm.n: mm bits inteiros com sinal, nn fracionários, x=X2−nx=X2^{-n}, passo 2−n2^{-n}, intervalo [−2m−1,2m−1−2−n][-2^{m-1},2^{m-1}-2^{-n}].

  • Escolhe nn pelo passo e mm pelo intervalo. Q4.4: passo 1/16, −8…7,9375. −2,75-2{,}75 dá X=−44X=-44, código D4.
  • Soma: alinha escalas, Z=X+YZ=X+Y com overflow de C2. Produto: XY/2nXY/2^n com intermédio largo para XYXY. Divisão: X2n/YX2^n/Y, com Y≠0Y\ne0, numerador alargado e arredondamento definido.
  • 24×(−12)=−28824\times(-12)=-288 não cabe em 8 bits; −288/16=−18-288/16=-18 cabe. Shift aritmético de negativos arredonda para baixo.

Campos

FormatoSinalExpoenteFraçãoBias
binary321823127
binary64111521023
bfloat16187127

E,FE,F lidos sem sinal; pp é a largura da fração e EmaxE_{max} é o expoente todo a 1.

  • Normal (0<E<Emax0<E<E_{max}): (−1)s(1+F/2p)2E−bias(-1)^s(1+F/2^p)2^{E-bias}. O 1 é implícito só aqui.
  • Subnormal (E=0,F≠0E=0,F\ne0): (−1)s(F/2p)21−bias(-1)^s(F/2^p)2^{1-bias}. E=F=0E=F=0: zeros. E=EmaxE=E_{max} dá infinito se F=0F=0 e NaN se F≠0F\ne0.
  • 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

−13,25=−1,101012×23-13{,}25=-1{,}10101_2\times2^3: s=1, E=130, fração 10101 com 18 zeros, 0xC1540000.

  • Em binary32, o menor normal positivo é 2−1262^{-126}, o menor subnormal positivo é 2−1492^{-149} e o maior finito é (2−2−23)2127(2-2^{-23})2^{127}. Nos normais binary32 em [2e,2e+1)[2^e,2^{e+1}), o passo é 2e−232^{e-23}; nos subnormais o passo é fixo em 2−1492^{-149}.
  • 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. 224+12^{24}+1 arredonda a 2242^{24}: a adição não é associativa.

Operações e empates.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.