0

Visual c ++ 2010 Winフォームアプリケーションでアプリケーションを開発しています。16進データ(パケット)を受け取り、リッチテキストボックスに保存します。受信した16進データは、浮動小数点数を表します。例:浮動小数点数11.62は、4139eb85(RichTextBoxに格納されている文字列)として受信されます。16進数を元の値に変換して表示したかったのです。(例)4139EB85を元の値11.62に変換するのに苦労しています

早くても助けてください。

4

2 に答える 2

2

ポータブルではありませんが:

int x = 0x4139eb85;
float y = *reinterpret_cast<float *>(&x);
于 2013-03-27T08:01:53.347 に答える
1

文字列をとして解析してから、バイトをfloatに変換するためにUInt32使用できます。BitConverter::ToSingle

// Convert the hex string into a UInt32 (if necessary)
UInt32 bits = UInt32::Parse("4139EB85", System::Globalization::NumberStyles::HexNumber);
// Convert the bytes of the UInt32 to a Single/float
float f = BitConverter::ToSingle(BitConverter::GetBytes(bits), 0);
于 2013-03-27T07:58:06.483 に答える