
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
浮動小数点数に1を掛ける操作は最適化できるか/浮動小数点数のビット列表現のカノニカル性について
void multiply_one(double *x) { static const volatile double one = 1.0; *x *= one; } 数学的には、... void multiply_one(double *x) { static const volatile double one = 1.0; *x *= one; } 数学的には、この関数は入力をそのまま返す関数(恒等関数)です。浮動小数点数の場合はどうでしょうか?特に、この関数は、入力として与えられた浮動小数点数のビット列表現を変えるでしょうか? 多くの人は「変えないでしょ」「変わったとしても違いは重要じゃない」と思われるかもしれませんが、これはコンパイラーの最適化を考える上では重要な問題になります。もちろん、「浮動小数点数の細かいことは気にしない」モードなら最適化して良いでしょうが、ここでは浮動小数点数の重箱の隅まで気にするコンパイラーを考えます。 簡単なプログラムを作って、いくつかの値について試してみます: #include <inttypes.h> #include <stdio.
2025/10/03 リンク