元ネタを書いた60デス。

>(float)(integ)でどうして2.3が出ると思うのか?
>integには整数しか入らないからキャストしても小数点以下は0しか出ない。
ごもっとも。あ゛〜くやしいー。完全に勘違いです。


>u.ival = ....;
>printf("%f\n", u.fval);
>で大丈夫。
スマート! これいいですね!

ぴゅあさんはじめ丁寧な説明有難う御座いました。m(__)m

お礼になぜこんな質問をしたか、を書いておきます。(読み飛ばし可)
X-Planeというフライトシミュレータがありまして、そのソフトにある設定を
するとUDP通信で飛行速度や、飛行している方向を他のPCに転送できる、
というマニアックな機能があります。UDPでのデータ受信は苦労の末できた
のですが、それをfloatに変換するのにてこずって先の質問をさせて頂きました。
しかも送ってくるのがビッグエンディアンで、しかも少数のバイトオーダ変換
について詳しく書いてあるページを探し出せなかったのです。
本来はPerlのunpack関数で出来ると思っていたのですが、、、、あ、これはスレ違い?