Pesquise qual o tamanho (em bits) de uma variável float em Python e qual padrão (formato) IEEE 754 ela segue?

Passo 1

Beleza, aqui a gente precisa descobrir duas coisas: o tamanho em bits de uma variável float em Python e qual padrão IEEE 754 ela segue. Isso cai na matéria de representação de números de ponto flutuante em computação. Para resolver, vamos ver como o Python implementa float (hint: é um C double) e depois checar qual formato IEEE 754 corresponde a isso.

Passo 2

Em Python (na implementação mais usada, o CPython), o tipo float é exatamente o mesmo que o tipo double em C.
– Um double em C ocupa 8 bytes de memória.
– Como cada byte tem 8 bits, isso dá
8 bytes times 8 bitsbyte = 64 bits
Ou seja, um float em Python ocupa 64 bits.

Passo 3

Agora, qual padrão IEEE 754 isso segue? A norma IEEE 754 define vários formatos de ponto flutuante, os mais comuns são:
Single precision (32 bits, chamado binary32)
Double precision (64 bits, chamado binary64)
Como o Python usa 64 bits, ele está seguindo exatamente o formato double precision, também conhecido como binary64.

Passo 4

Para ficar claro como esses 64 bits são divididos no formato IEEE 754 binary64:
– 1 bit de sinal ( (-1)^s times (1f) times 2^,e - 1023, )
– 11 bits de expoente ( )
– 52 bits de mantissa/fracionário ( )
O valor representado é calculado como
onde “ ” significa “1 ponto fracionário” (o bit antes do ponto é sempre 1, exceto em casos subnormais) e o bias do expoente é 1023.

Resposta

Um float em Python tem 64 bits e segue o padrão IEEE 754 double precision (binary64).

Exercícios relacionados