2

IEEE754単精度浮動小数点形式に準拠したfloatに変換する必要のある文字列型の4バイトの16進コードがあります。

Javaにはこれを簡単に行うためのライブラリがあったと思いますが、C#にライブラリがあるかどうかはわかりません。この問題に取り組むための最良の方法は何ですか?

4

1 に答える 1

6

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[]、最初のいくつかの手順をスキップできます。

于 2012-08-28T05:54:11.340 に答える