C言語なら俺に聞け(入門篇) Part 36
■ このスレッドは過去ログ倉庫に格納されています
0515デフォルトの名無しさん
2008/10/01(水) 20:34:11typedef union
{
float f;
unsigned char b[4];
} Endian32;
float ConvertF32( void *inData )
{
EndianF32 val;
val.b[0] = ((Endian32 *)inData)->b[3];
val.b[1] = ((Endian32 *)inData)->b[2];
val.b[2] = ((Endian32 *)inData)->b[1];
val.b[3] = ((Endian32 *)inData)->b[0];
return val.f;
}
void test( float inVal )
{
float ret = ConvertF32( &inVal );
fwrite( &ret, sizeof(float), 1, fp );
}
こんな感じでやっています。
1.0を送ると、int型の1が何故か入ってしまいます。
■ このスレッドは過去ログ倉庫に格納されています