C++相談室 part166 (569レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
433(1): デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/21(土) 16:15:28.70 ID:kXnmGuVNM(1/3) AAS
先の話題について、コンピュータではなく数学の世界まで振り返って考えてみると、
(1) a が実数の時
a * 100 / 100 = a
は恒等的に成り立つ。だからこの最適化は、精度を無視すれば
していい可能性が高い。
(2) a が整数で、整数としての割り算で考える場合、
a * 100 / 100 = a
は、一般的には成り立たない。
だから、a * 100 / 100 を a と最適化することはそもそも出来ない。
434: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/21(土) 16:16:35.17 ID:kXnmGuVNM(2/3) AAS
>>433
重大な訂正。
(2)は正しくはこう :
(a / 100) * 100 = a
は、一般的には成り立たない。
だから、(a /100) * 100 を a と最適化することはそもそも出来ない。
439: デフォルトの名無しさん (オイコラミネオ MMc6-Rgxs) [sage] 2025/06/21(土) 19:00:56.65 ID:kXnmGuVNM(3/3) AAS
浮動小数点数を「実数」と見た時に
『数学的な恒等式』ならば、最適化していい
という価値観は有るはずだ。
実際には、実数は無限精度であるのに対し、浮動小数点数は
有限精度であるから、実数では恒等式であっても、
浮動小数点数では恒等式ではないので、最適化すると結果が
少し変わってしまうことはありえる。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.283s*