O
padrão IEEE754 define algumas regras de normalização a serem seguidas nas
operações e representações de números binários com ponto flutuante. Antes
disso, cada fabricante de computadores e outros dispositivos, possuía um
formato de representação diferente. Neste formato podemos escrever valores
entre -1E-126 até 1E127.Alguns fabricantes de sensores adotam esta
representação para enviar dados de sensores. Para transformar esta cadeia de
bytes em um número válido, utilizando o C# criei uma função para isto.Tendo em
vista que você esta recebendo esta sequencia de bytes em uma string
representada em ascii, formato hexadecimal:
Console.Write("Digite os 8 bytes (padrão ieee 754): ");
string strByte = Console.ReadLine();
uint num = uint.Parse(strByte,System.Globalization.NumberStyles.AllowHexSpecifier);
byte[] floatVals = BitConverter.GetBytes(num);
float f = BitConverter.ToSingle(floatVals, 0);
Console.Write("Equivalente em float, single precision: " + f);
Console.ReadKey();
Digite os 8 bytes em hexadecimal e pressione Enter. O resultado aparecerá na tela.
Nenhum comentário:
Postar um comentário