トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2007-8-15の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!浮動小数の扱い(Binary Hacks #98より)
研究室の後輩の浮動小数を扱うプログラムの挙動が 
gccの最適化オプション(-O)の有無で違うというので考えてみたら 
ぴたりBinary Hacks #98の通りで、 
x86の浮動小数点レジスタの指数部が15bit固定であるのが 
原因だった。 
最適化オプションの有無によって 
一度メモリに値を書くか書かないかの挙動が異なっていて、 
これで結果の値も異なっていたよう。 
ちなみに、BinaryHacksのpp.369のプログラム、 
FreeBSD上で最適化オプションをつけずにコンパイルして実行するとx86でもinfになった。