0

C# でビットを float に変換するときに、間違った数値を取得しています。

このビットを使ってみましょうnumber= 1065324597

Javaでは、ビットからフロートに変換したい場合はintBitsToFloatメソッドを使用します

int  intbits= 1065324597;
System.out.println(Float.intBitsToFloat(intbits));

出力:0.9982942 C#で取得したい正しい出力


ただし、C#では使用しました

int  intbits= 1065324597;
Console.WriteLine((float)intbits);

出力:1.065325E+09 違います!!

私の質問は、C# で inbitsToFloat をどのように変換しますか?

私の試み: 私はここのドキュメントを見ましたhttp://msdn.microsoft.com/en-us/library/aa987800(v=vs.80).aspx しかし、私はまだ同じ問題を抱えています

4

3 に答える 3

1

これを試してみてください...

var myBytes = BitConverter.GetBytes(1065324597);
var mySingle = BitConverter.ToSingle(myBytes,0);

BitConverter.GetBytes は、整数を 4 バイト配列に変換します。次に、BitConverter.ToSingle は配列を float(single) に変換します。

于 2013-08-06T11:40:21.703 に答える