確かにこれでうまく動いているんでがちょっと心配だったもので。
実際にはintじゃなくてfloatだったりしますが、
もうすぐ64ビットとかいってるのにintで例に出したのは悪かったかもしれません。
unionの使い方はよくわかりませぬ。ちょっと調べてみます。
暇な人いればご教授いただければ幸いです。