C++相談室 part166 (574レス)
C++相談室 part166 http://mevius.5ch.net/test/read.cgi/tech/1745631298/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
375: デフォルトの名無しさん (ワッチョイ 1202-2JrO) [sage] 2025/06/19(木) 20:50:34.90 ID:Cdln7j8I0 整数型の変数を10で割ってから10掛けたら元の数字の一の位を0にした数が得られるはずだけど この計算が最適化とかで除かれない保証ってあるの http://mevius.5ch.net/test/read.cgi/tech/1745631298/375
377: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f532-iKku) [sage] 2025/06/19(木) 20:57:52.06 ID:nNn4PbNI0 >>375 C++ の言語仕様は抽象機械の動作として記述されている。 動作を説明するための架空の機械の動作なので、文字通りの機械語が生成されるとは限らない。 結果的な動作が仕様に反しなければどのような機械語を生成しても言語仕様に準拠していると言って良い。 しかし、逆に言えば最適化で変形したとしても結果は変わらないようになることが保証される。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/377
378: デフォルトの名無しさん (オイコラミネオ MMdd-Rgxs) [sage] 2025/06/19(木) 21:05:34.31 ID:oyTCj2/DM >>375 最適化では結果は変わらない。 つまり、ちゃんと10で割って、ちゃんと10を掛ける。 10を掛ける方は、マシン語の乗算命令は使われず、 もっと速い命令に置き換えられることが有るが、結果は同じ。 http://mevius.5ch.net/test/read.cgi/tech/1745631298/378
381: デフォルトの名無しさん (スッップ Sdb2-T1jw) [] 2025/06/19(木) 22:14:21.23 ID:JQ4jFr2Sd >>375 それだと取り除けるケースがあるので保証はされない http://mevius.5ch.net/test/read.cgi/tech/1745631298/381
383: デフォルトの名無しさん (ワッチョイ 9202-oXsi) [sage] 2025/06/19(木) 23:15:31.49 ID:IWPeLhU+0 >>375 あるわけないでしょ そういう仕様なんだから http://mevius.5ch.net/test/read.cgi/tech/1745631298/383
396: デフォルトの名無しさん [sage] 2025/06/20(金) 10:45:39.27 ID:4xHX9xY70 >>392 ここまでの話で「定数だけの演算なら」と何で言い出すのか理解できないけど >>375では「整数型の変数を」と言っているわけだし まあそれはおいておいても「コンパイルの時点で計算しても」←演算してんじゃんって俺は思うわけ >>393 それ自体は問題なくね? 157 を 10で割って15 これに10を掛けるのでなく15*8+15+2 でも最適化の影響はないだろ? 割り算の方でそれが起きるなら問題だけど、>>378の人の話では起きないようだけど http://mevius.5ch.net/test/read.cgi/tech/1745631298/396
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s