kibayasiの日記: 宛 Endian 通 3
日記 by
kibayasi
だれか、BigEndianからLittleEndianの変換方法教えてください。
float型の。
できれば、Cのサンプルソースください。URLでもいいです。
くれーーー!!(ダメダメ君)
もっと欲をいうと、VAXのFloatに変換できる人最高。(笑)
だれか、BigEndianからLittleEndianの変換方法教えてください。
float型の。
できれば、Cのサンプルソースください。URLでもいいです。
くれーーー!!(ダメダメ君)
もっと欲をいうと、VAXのFloatに変換できる人最高。(笑)
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
こんな感じ? (スコア:1)
float convert(float num)
{
int i;
unsigned char buf;
union {
float f;
unsigned char c[sizeof(float)];
} data;
data.f = num;
for(i = 0; i < sizeof(float) / 2; i++){
int pos = sizeof(float) - 1 - i;
buf = data.c[pos];
data.c[pos] = data.c[i];
data.c[i] = buf;
}
return data.f;
}
したがきなしでいっぱつしょうぶ (スコア:1)
union FI {
float f;
char c[4];
};
float convertEndian(union FI *fi)
{
char a,b,c,d;
a = fi->c[0];
b = fi->c[1];
c = fi->c[2];
d = fi->c[3];
fi->c[0] = d;
fi->c[1] = d;
fi->c[2] = d;
fi->c[3] = d;
return fi->f;
}
-- Takehiro TOMINAGA // may the source be with you!
Re:したがきなしでいっぱつしょうぶ (スコア:1)
fi->c[0] = d;
fi->c[1] = d;
fi->c[2] = d;
fi->c[3] = d;
の部分は
fi->c[0] = d;
fi->c[1] = c;
fi->c[2] = b;
fi->c[3] = a;
だすね。
-- Takehiro TOMINAGA // may the source be with you!