Conversão HEXA-float e float-HEXA
A maioria das linguagens possuem as funções para trabalhar com números de ponto flutuante, ou seja, float.
O float foi padronizado nos compiladores modernos, seguindo a norma IEEE-754 e é armazenado em 32 bits.
Para aqueles curiosos ou detalhistas que desejam aprender mais sobre como funciona, foi criada uma planilha que mostra os cálculos que o compilador executa ao fazer a conversão.
Em resumo, a variável de ponto flutuante ocupa 32 bits, dividido em 3 partes:
- 1 bit para o sinal (0=positivo e 1=negativo);
- 8 bits para o expoente de 2 (após converter os 8 bits para número decimal, subtrai-se 127);
- 23 bits para a mantissa, ou seja, a parte significativa do número mas tem uma pegadinha aqui: devemos considerar o bit 24 que é sempre 1.
Abaixo, apresento a planilha que criei:
Conclusão:
Com a padronização, sabemos o que esperar das funções que convertem os números e verificamos que há uma pequena imprecisão devido a erros de arredondamento que ocorre a partir da sétima casa decimal.
Espero que aproveitem este tutorial e bons estudos!
'Labirito Master