フォーマットが混在するデータを含む配列があります。符号なしintとfloatの両方が含まれています(すべて4バイトのデータに格納されています)。
各4バイトのデータをfloatに変換したいと思います。しかし、どの方法も私にはうまくいきませんでした。例えば。
union
{
DWORD i;
float f;
} u;
この方法は機能しません。また、reinterpret_castをfloatに変換しません。
私が持っているデータはこんな感じです。
{ 1, 8, 1.00000, -1.000000 }
メモリをuint32_t
指すポインタがあります。
DWORD value = *(uint_pointer)
私に1、8を正しく与え、他のものは与えません。型キャストfloatを使用すると、1.00000と-1.00000は正しく認識されますが、他の2つは認識されません。
基本的に結果を出したい
{ 1.00000, 8.00000, 1.00000, -1.00000 }
以前のすべての回答についてSOを調べましたが、どれも確実に機能しなかったため、いくつかのアイデアを得るためにこれを再度投稿します。
ありがとう