Newsletter


Cadastre seu e-mail aqui para receber as últimas novidades sobre os produtos e oportunidades Vivace.

Enviar

FORMATO FLOAT IEEE-754

O formato de ponto flutuante (floating  point) utilizado nos protocolos HART e Profibus-PA está definido de acordo com o padrão IEEE 754:  

  • byte_MSB (byte 1) byte 2 byte 3 byte_LSB (byte 4) 
  • byte_MSB (byte 1) = exp 
  • byte 2 = mantissa 
  • byte 3 = mantissa 
  • byte_LSB (byte 4) = mantissa
Exemplo: C2 ED 40 00 00
11000010 00000100 00000000 00000000 
float= (-1) ^ bitsignal * [ 2 ^ (exp - 127) * ( 1 + mantissa ) ] 
Onde: bitsignal é o bit mais significativo do byte_MSB (byte 1).
Se este bit é 0, o número é positivo. Se for 1, é negativo. No exemplo anterior o número é negativo.

O valor de "exp" é a soma dos outros bits do byte_MSB (byte 1) e do bit mais significativo do byte 2. 

Por exemplo:
 
  • Bit 1 no sinal indica número negativo.
  • Expoente 10000101 = 13310
  • Portanto, o valor antes da polarização era:
    • x + (28-1) -1 = 133
    • x + 127 = 133
    • x = 6
    • Com o bit escondido, temos a mantissa: 
    • 1.110110101 x 26 => deslocando o ponto em 6 casas: 1110110.101 
  • 1110110 = 11810
  • 101 = 1*(2^-1) + 0*(2^-2) + 1*(2^-3) = 0.625
  • 118+0.625 = 118.625
  • Como o bit de sinal representa um número negativo, temos: -118.625