IEEE754単精度浮動小数点形式に準拠したfloatに変換する必要のある文字列型の4バイトの16進コードがあります。
Javaにはこれを簡単に行うためのライブラリがあったと思いますが、C#にライブラリがあるかどうかはわかりません。この問題に取り組むための最良の方法は何ですか?
16進文字列から始めているように聞こえるので、次のようにします。
string hex = "0a0b0c0d";
byte[] raw = new byte[hex.Length / 2];
for (int i = 0; i < raw.Length; i++)
{
// THEN DEPENDING ON ENDIANNESS
raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
// OR
raw[raw.Length - i - 1] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
float f = BitConverter.ToSingle(raw, 0);
実際にから始めている場合はbyte[]
、最初のいくつかの手順をスキップできます。