!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
※前スレ
C言語なら俺に聞け 154
https://mevius.5ch.net/test/read.cgi/tech/1578997950/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 155
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 76ba-P5bm)
2020/05/10(日) 23:20:27.99ID:Z3WQBr9X0236デフォルトの名無しさん (ワッチョイ 237b-FyPE)
2020/06/11(木) 06:19:27.46ID:zR4s1lAr0 man gcc を見ると -Wextra のところに This option used to be called -W.
と出てるね。日本語だと「かつては -W と呼ばれていた」で合ってるだろうか。
-W を指定することと -Wextra を指定することは同じ効果かな。
と出てるね。日本語だと「かつては -W と呼ばれていた」で合ってるだろうか。
-W を指定することと -Wextra を指定することは同じ効果かな。
237デフォルトの名無しさん (ワッチョイ 1a0e-IXeA)
2020/06/18(木) 12:45:08.73ID:5LdPXPiS0 clやgccのassertって生真面目にabortしてうざいね
イベント1001なんか記録してくれなくていいのに
イベント1001なんか記録してくれなくていいのに
238デフォルトの名無しさん (ワッチョイ 8f01-pPzt)
2020/06/24(水) 12:01:11.31ID:T7mdaPsT0 元気があればなんでもできる。
Cさえ出来ればなんでもできる。
Cさえ出来ればなんでもできる。
239デフォルトの名無しさん (ワッチョイ 7fd2-NJGG)
2020/06/25(木) 07:45:23.79ID:1LmSFJHY0 正しライブラリーは付属しません。
240デフォルトの名無しさん (ワッチョイ cfbb-5fXH)
2020/06/25(木) 08:00:17.88ID:Nd1uEPT+0 C書いてる人ってみんな可変長配列とかリストとか木構造とかグラフとか自前で書けるよな?
241デフォルトの名無しさん (スプッッ Sddf-WMoV)
2020/06/25(木) 08:01:55.58ID:XUZZkb7Yd 木構造⊂グラフ
242デフォルトの名無しさん (スプッッ Sddf-WMoV)
2020/06/25(木) 08:03:09.05ID:XUZZkb7Yd 最近勉強して書けるようになったから嬉しいの?
243デフォルトの名無しさん (ワッチョイ cfbb-5fXH)
2020/06/25(木) 08:06:39.00ID:Nd1uEPT+0 <3
244デフォルトの名無しさん (ワッチョイ 8f9b-/Fs/)
2020/06/25(木) 11:19:49.85ID:2XRewe5U0 >>240
自己参照構造体とか普通に使う
自己参照構造体とか普通に使う
245デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/25(木) 11:30:04.55ID:N8mY4JDD0 >>240
プロのミュージシャンは「蛙の歌」くらい自分で弾けるよな? くらいのシュールな質問だ
プロのミュージシャンは「蛙の歌」くらい自分で弾けるよな? くらいのシュールな質問だ
246デフォルトの名無しさん (ワッチョイ 7f63-htoQ)
2020/06/25(木) 12:01:03.23ID:6D953TAQ0 最近覚えた言葉を使ってみました
247デフォルトの名無しさん (ワントンキン MM9f-rLul)
2020/06/25(木) 12:24:56.81ID:9JLqMYSrM 職業画家ならピカソのイタズラガキぐらい描けるよな?
248デフォルトの名無しさん (ワッチョイ cfbb-5fXH)
2020/06/25(木) 12:37:09.65ID:Nd1uEPT+0 <3
249デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/25(木) 12:50:41.05ID:VB93ltO10 単なるそういう構造でも感心するような実装ができたらすごいけどな。
メモリ管理は奥が深いよ。
メモリ管理は奥が深いよ。
250デフォルトの名無しさん (スプッッ Sde3-WMoV)
2020/06/25(木) 13:27:45.77ID:HOWmpZqad 名前が付いてるようなのは既存のを使えば良い
付いてないような複雑な構成、特殊な構成のものがさらっと作れるようになって一人前
名前が付いてる構造をただ列挙して喜んでるようなのは初心者
付いてないような複雑な構成、特殊な構成のものがさらっと作れるようになって一人前
名前が付いてる構造をただ列挙して喜んでるようなのは初心者
251デフォルトの名無しさん (ワッチョイ ff8c-ZANo)
2020/06/25(木) 13:32:44.25ID:CW3F7rpu0 >>240
API使うから見たこともない。
API使うから見たこともない。
252デフォルトの名無しさん (ワッチョイ 0f7b-Yzg9)
2020/06/25(木) 17:18:14.56ID:f73tPHfd0 カーニハンが引用して有名になったフレーズだったと思うけど
「職業プログラマーでも二分探索を正しく実装できる者は意外なほど少ない」
ってのと似てる感じね。
出典はベントリーさんの記事だったかな。
で、ベントリーさんが出してる二分探索ルーチンの例が
(細かいこと言えば)誤ってるというお見事なオチ。
「職業プログラマーでも二分探索を正しく実装できる者は意外なほど少ない」
ってのと似てる感じね。
出典はベントリーさんの記事だったかな。
で、ベントリーさんが出してる二分探索ルーチンの例が
(細かいこと言えば)誤ってるというお見事なオチ。
253252 (ワッチョイ 0f7b-Yzg9)
2020/06/25(木) 17:22:50.60ID:f73tPHfd0 いかん、カーニハンさんに「さん」付けるの忘れた。
カーニハンに「さん」を付けるとなんか座りが悪い気がするんだよ。
べつに「ハン」は関西弁の「〜はん」じゃないのだけど。
カーニハンに「さん」を付けるとなんか座りが悪い気がするんだよ。
べつに「ハン」は関西弁の「〜はん」じゃないのだけど。
254デフォルトの名無しさん (スッップ Sd5f-xaSm)
2020/06/25(木) 17:28:33.47ID:EHXNgq1Pd アカデミックな文章のなかでは敬称略はデフォやん
255デフォルトの名無しさん (ワッチョイ 3f01-In76)
2020/06/25(木) 17:53:32.70ID:Yy8QFoSC0 インブリードチェックとかねー
掘り掘りの打ち切り確認とか
可変配列で返せると効率的なのに記述や関数使用方法がCでは面倒くさいという
web上のサラブレッド血統表のインブリードどこも結構いい加減な自動抽出だし
掘り掘りの打ち切り確認とか
可変配列で返せると効率的なのに記述や関数使用方法がCでは面倒くさいという
web上のサラブレッド血統表のインブリードどこも結構いい加減な自動抽出だし
256デフォルトの名無しさん (ワッチョイ 7f46-rLul)
2020/06/25(木) 17:55:14.95ID:5kqDetxy0 飴ちゃんみたい、蟹はん。
257252 (ワッチョイ 0f7b-Yzg9)
2020/06/25(木) 17:58:50.94ID:f73tPHfd0258デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/25(木) 21:13:44.78ID:VB93ltO10 >>252
正しく実装ってのが何を指してるのかよく分からないけど、その解説ってどこかにある?
正しく実装ってのが何を指してるのかよく分からないけど、その解説ってどこかにある?
259デフォルトの名無しさん (ワッチョイ 0f3e-NJGG)
2020/06/25(木) 23:23:06.88ID:Dxq2c9AW0 2ch (5ch) ではカーニハンは蟹飯とか呼ばれたりするのも普通だからなー。
さんを付けた方がすわりが良いと思うなら付けてもいいが、
ここでは雑に言っても文句は出ないよ。
敬称を付けなきゃ敬意がないってわけでもないし。
さんを付けた方がすわりが良いと思うなら付けてもいいが、
ここでは雑に言っても文句は出ないよ。
敬称を付けなきゃ敬意がないってわけでもないし。
260デフォルトの名無しさん (ワッチョイ 8f46-rLul)
2020/06/25(木) 23:35:03.55ID:kZgmLzec0 蟹めしとしか読めない。
261252 (ワッチョイ 0f7b-Yzg9)
2020/06/26(金) 07:00:11.04ID:Ks2Lu7GD0 >>258 の人に質問されたのでちょこっと書庫をひっくり返してみた。
書籍資料しか示せないし、古い本だから見つけるのは大変かも知れんけど。
今回は「さん」無しで書かせてもらう。人名が多くてやかましくなるでな。
カーニハンによる言及は『プログラミング作法』(ASCII)の第2章。
見直して気づいたけどベントリーからの直接の引用ではなかった。
あと、この本はカーニハンとパイクの共著だったので訂正させてもらう。
ベントリーによる2分探索法は『プログラム設計の着想』(近代科学社)の第4章。
ここに「ベル研とIBMで試したら2時間かけて正しく書けたのは10%」と出てる。
この章をまるまる使って、二分探索ルーチンを題材に、正しいプログラムを書く
手順を説明してるが、使用言語は擬似コードとBASICの方言。
補足としてネット情報 Wikipedia 「二分探索」ページ
特に「実装上の間違い」の部分が興味深いかと。
書籍資料しか示せないし、古い本だから見つけるのは大変かも知れんけど。
今回は「さん」無しで書かせてもらう。人名が多くてやかましくなるでな。
カーニハンによる言及は『プログラミング作法』(ASCII)の第2章。
見直して気づいたけどベントリーからの直接の引用ではなかった。
あと、この本はカーニハンとパイクの共著だったので訂正させてもらう。
ベントリーによる2分探索法は『プログラム設計の着想』(近代科学社)の第4章。
ここに「ベル研とIBMで試したら2時間かけて正しく書けたのは10%」と出てる。
この章をまるまる使って、二分探索ルーチンを題材に、正しいプログラムを書く
手順を説明してるが、使用言語は擬似コードとBASICの方言。
補足としてネット情報 Wikipedia 「二分探索」ページ
特に「実装上の間違い」の部分が興味深いかと。
262デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 07:30:17.89ID:zNtEkj210263デフォルトの名無しさん (スプッッ Sde3-WMoV)
2020/06/26(金) 07:30:54.43ID:CbN2WAX/d 見てみたけど...
アルゴリズムの問題じゃなくて
ただのインデックスのオーバーフローか
インデックスが計算途中でオーバーフローする心配をするなら
要素数自体がintの範囲を越える心配やメモリ不足の心配もしないと
アルゴリズムの問題じゃなくて
ただのインデックスのオーバーフローか
インデックスが計算途中でオーバーフローする心配をするなら
要素数自体がintの範囲を越える心配やメモリ不足の心配もしないと
264デフォルトの名無しさん (スプッッ Sde3-WMoV)
2020/06/26(金) 07:33:24.14ID:CbN2WAX/d intじゃ足りないかもしれないから
size_tじゃないとバグとか言い出すのか
くだらん
size_tじゃないとバグとか言い出すのか
くだらん
265デフォルトの名無しさん (スプッッ Sde3-WMoV)
2020/06/26(金) 07:37:26.08ID:CbN2WAX/d 斜辺を求めるコードも
sqrt(a*a+b*b)
なんて書いたらバグだと言われちゃうね
sqrt(a*a+b*b)
なんて書いたらバグだと言われちゃうね
266デフォルトの名無しさん (ワッチョイ 0f97-h9M3)
2020/06/26(金) 07:53:21.24ID:R6SXx1iE0 まあ、ビット数の少ないCPUを使ってた頃はオーバーフローで実際にバグの挙動を示していたこともあったのかもね。
64bitになって、今しばらくはインデックスの足し算をいい加減な順番で行ってもオーバーフローになるほど実メモリが積めなそうだけども。
64bitになって、今しばらくはインデックスの足し算をいい加減な順番で行ってもオーバーフローになるほど実メモリが積めなそうだけども。
267デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/26(金) 08:08:32.76ID:tBxKhrZw0 >>265
aとbがintなのにキャストしないタコいたら許さん
aとbがintなのにキャストしないタコいたら許さん
268デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 08:22:33.07ID:zNtEkj210 >>263
だからアルゴリズムじゃなくて実装の問題だって話なんだろ。
そして型が int だとか size_t だとかの問題でもない。
どんな型であろうと計算の途中でその型をオーバーフローする可能性がある式だというのが問題であり、扱ってるデータではオーバーフローしないことを意識した上でそういう式を選んでるのかたまたまそういう条件になってるのかは大違いってこと。
最近は64bitだからいちいちそんなこと考える必要もないというなら、それは違うだろと(検索対象がメモリで64bitに及ばないメモリ量の環境でしか使わないコードだという考慮くらいは必要)。
特にライブラリなんかでは、インデックスの許容範囲がその型の許容範囲より狭いならば明記しなければならない。
だからアルゴリズムじゃなくて実装の問題だって話なんだろ。
そして型が int だとか size_t だとかの問題でもない。
どんな型であろうと計算の途中でその型をオーバーフローする可能性がある式だというのが問題であり、扱ってるデータではオーバーフローしないことを意識した上でそういう式を選んでるのかたまたまそういう条件になってるのかは大違いってこと。
最近は64bitだからいちいちそんなこと考える必要もないというなら、それは違うだろと(検索対象がメモリで64bitに及ばないメモリ量の環境でしか使わないコードだという考慮くらいは必要)。
特にライブラリなんかでは、インデックスの許容範囲がその型の許容範囲より狭いならば明記しなければならない。
269デフォルトの名無しさん (スプッッ Sddf-WMoV)
2020/06/26(金) 08:51:08.83ID:ulI8ykG3d270デフォルトの名無しさん (スプッッ Sddf-WMoV)
2020/06/26(金) 08:55:01.02ID:ulI8ykG3d271デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 09:27:28.43ID:zNtEkj210272デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 09:39:45.10ID:zNtEkj210 >>271
a & 1 にカッコ忘れてるのは多目に見て
a & 1 にカッコ忘れてるのは多目に見て
273デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 10:09:23.28ID:zNtEkj210274デフォルトの名無しさん (ワッチョイ 7f69-H7K1)
2020/06/26(金) 10:12:30.36ID:DHczgJjy0 ビットand の & の優先順位が低いのがすげー気になるマン
275デフォルトの名無しさん (スプッッ Sde3-WMoV)
2020/06/26(金) 10:24:55.68ID:0ez7fC22d >>271
aが小さいとダメだからバグです
aが小さいとダメだからバグです
276デフォルトの名無しさん (ブーイモ MM0f-Tpb5)
2020/06/26(金) 11:51:33.67ID:CsRb/b6RM 確かに、掛け算並みに優先度高くても良い気がする
277デフォルトの名無しさん (スプッッ Sddf-WMoV)
2020/06/26(金) 12:06:06.43ID:wPd6FHznd 比較より低いのは仕様バグだな
278デフォルトの名無しさん (ワッチョイ 3ff9-5fXH)
2020/06/26(金) 12:54:54.87ID:hOK/Kg/V0 a,bがdoubleでsqrt(a*a+b*b)以外にどう書けと
279デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 13:34:59.23ID:zNtEkj210 >>278
もし double でも計算途中でオーバーフローする可能性があるなら、最初に適当な係数の平方で a b を割って計算してから係数を掛けるとか?
あるいは long double が使えるなら単純にそれで計算するとか。
逆に言えば、オーバーフローする可能性があるならなんとかしないといけないわけだから、なんの変形もせずオーバーフローするに任せたらそれこそバグでしょうよ。
もし double でも計算途中でオーバーフローする可能性があるなら、最初に適当な係数の平方で a b を割って計算してから係数を掛けるとか?
あるいは long double が使えるなら単純にそれで計算するとか。
逆に言えば、オーバーフローする可能性があるならなんとかしないといけないわけだから、なんの変形もせずオーバーフローするに任せたらそれこそバグでしょうよ。
280デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 13:41:41.84ID:zNtEkj210281デフォルトの名無しさん (ブーイモ MMb3-R4wo)
2020/06/26(金) 14:27:07.38ID:QICJMmXvM doubleでオーバーフローって、10の何乗を想定してる?
282デフォルトの名無しさん (ワッチョイ 4f19-IZ2D)
2020/06/26(金) 15:19:41.24ID:gU0A9MqI0 aとbの差が大きいときでしょ
283デフォルトの名無しさん (ブーイモ MMb3-R4wo)
2020/06/26(金) 15:43:00.88ID:QICJMmXvM それオーバーフローじゃないし、
情報落ちのことだとすればsqrt(a*a+b*b)をどう工夫して防げと?
情報落ちのことだとすればsqrt(a*a+b*b)をどう工夫して防げと?
284デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/26(金) 16:10:21.31ID:tBxKhrZw0285デフォルトの名無しさん (ブーイモ MMb3-R4wo)
2020/06/26(金) 16:42:15.29ID:QICJMmXvM で、宇宙の観測可能な距離をヨクトメートル単位で表したら?
286デフォルトの名無しさん (ワッチョイ 0f97-h9M3)
2020/06/26(金) 16:44:50.44ID:R6SXx1iE0 デカルト距離は物理的な空間でしか使われないわけじゃないしなあ(屁理屈
287デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/26(金) 17:02:33.96ID:tBxKhrZw0 64bitあれば大きいほうはエクサ、小さい方はアトまで扱える
今飲んでるコーヒーの液面からカップの底までが1アトパーセクくらい
今飲んでるコーヒーの液面からカップの底までが1アトパーセクくらい
288デフォルトの名無しさん (ワイーワ2 FFbf-/Fs/)
2020/06/26(金) 17:41:45.88ID:PjbtVFt+F289デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 17:47:26.42ID:zNtEkj210 double で何やったらオーバーフローするのかってことじゃなく、必要な対象を計算するのに必要な型や計算手順は何かってことだろ。
掛け算や指数を扱うならオーバーフローについては普通に考慮するもんだと思うけど、そうじゃないのか?
今扱おうとしてる対象について考慮してるから double なら大丈夫だと考えてるんだろ。
で二分木については足し算がオーバーフローする可能性が盲点ってことで、なるほどと思うべき所だろ。
アルゴリズム上も計算途中に最初に与えた imax を超える値が現れるようには見えないんだから。
今時 double も 64bit整数も当たり前だったとしても、SIMD使いたいからデータ長を抑えたいなんてこともあるでしょ。
掛け算や指数を扱うならオーバーフローについては普通に考慮するもんだと思うけど、そうじゃないのか?
今扱おうとしてる対象について考慮してるから double なら大丈夫だと考えてるんだろ。
で二分木については足し算がオーバーフローする可能性が盲点ってことで、なるほどと思うべき所だろ。
アルゴリズム上も計算途中に最初に与えた imax を超える値が現れるようには見えないんだから。
今時 double も 64bit整数も当たり前だったとしても、SIMD使いたいからデータ長を抑えたいなんてこともあるでしょ。
290デフォルトの名無しさん (ワイーワ2 FFbf-/Fs/)
2020/06/26(金) 17:54:06.22ID:PjbtVFt+F 一般論で答えても叩かれる
質問内容に特化して答えても叩かれる
どうしろと
質問内容に特化して答えても叩かれる
どうしろと
291デフォルトの名無しさん (ブーイモ MM0f-Tpb5)
2020/06/26(金) 17:56:45.81ID:9etEQyfpM 俺くらいになればケッセルランを12パーセクで飛ぶくらい余裕
292デフォルトの名無しさん (スプッッ Sd5f-WMoV)
2020/06/26(金) 19:11:05.35ID:EPLAnBEId293デフォルトの名無しさん (スプッッ Sd5f-WMoV)
2020/06/26(金) 19:13:45.24ID:EPLAnBEId294デフォルトの名無しさん (アウアウウー Sad3-u/pE)
2020/06/26(金) 21:15:32.77ID:TyyL07+Ya >>240
みんなかどうかは知らんがおれは書けるな
みんなかどうかは知らんがおれは書けるな
295デフォルトの名無しさん (アウアウウー Sad3-u/pE)
2020/06/26(金) 21:18:13.75ID:TyyL07+Ya >>253
カニチャーハン
カニチャーハン
296デフォルトの名無しさん (ワッチョイ 3f7d-naG6)
2020/06/26(金) 21:39:07.24ID:/YkOh9yY0 int x=0;
int y=(x=1)+(x=2);
とするとyが4になってしまいます。
3だと思うのですが。
int y=(x=1)+(x=2);
とするとyが4になってしまいます。
3だと思うのですが。
>>271
>オーバーフロー回避を意識する必要があるなら a / 2 * b とか?
それは回避したことになりません、演算子 / 2 と * b のどちらが先に処理されるかはコンパイラが籤引きで決めるか独断偏見で決め打ちするのでは?
>オーバーフロー回避を意識する必要があるなら a / 2 * b とか?
それは回避したことになりません、演算子 / 2 と * b のどちらが先に処理されるかはコンパイラが籤引きで決めるか独断偏見で決め打ちするのでは?
299デフォルトの名無しさん (ワッチョイ 8fe6-vKxb)
2020/06/26(金) 21:52:32.85ID:Sd6G194T0300はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f3e-NJGG)
2020/06/26(金) 21:54:17.86ID:gtOtInFM0301デフォルトの名無しさん (ワッチョイ 8fe6-vKxb)
2020/06/26(金) 21:57:33.08ID:Sd6G194T0 int x=0;
x=1;
x=2;
int y=x+x; //(2+2)
という話になっているのだと思われ
x=1;
x=2;
int y=x+x; //(2+2)
という話になっているのだと思われ
302デフォルトの名無しさん (ワッチョイ 8fe6-vKxb)
2020/06/26(金) 22:03:10.60ID:Sd6G194T0 あとは優しいおじい・・紳士様がアセンブラでは実際どうなっているかを解説してくれるはず
303デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/26(金) 22:32:16.04ID:zNtEkj210 >>297
自信を持っては言えないけど、/ 2 してから * b するのとその逆とでは結果が違うんだから、書いた式と結果が異なる可能性がある計算順にコンパイラがいじるものかね?
例えば各項を関数として a() / c() * b() にした場合、a 〜 c がどの順で実行されるか、つまり項の評価順は保証されないけどそれら結果を使った計算順は式通りになるんじゃないの?
でももし仮にそういう懸念があるなら、カッコ付けるなりそれでだめなら2手に分けるなりすればいいんじゃね。
自信を持っては言えないけど、/ 2 してから * b するのとその逆とでは結果が違うんだから、書いた式と結果が異なる可能性がある計算順にコンパイラがいじるものかね?
例えば各項を関数として a() / c() * b() にした場合、a 〜 c がどの順で実行されるか、つまり項の評価順は保証されないけどそれら結果を使った計算順は式通りになるんじゃないの?
でももし仮にそういう懸念があるなら、カッコ付けるなりそれでだめなら2手に分けるなりすればいいんじゃね。
304デフォルトの名無しさん (ブーイモ MMb3-R4wo)
2020/06/26(金) 22:48:16.05ID:GYQIE3peM >>302
アセンブラだとxに2入れて、yに4入れて、おしまいだろうな。
アセンブラだとxに2入れて、yに4入れて、おしまいだろうな。
305デフォルトの名無しさん (ワッチョイ 3f85-NJGG)
2020/06/26(金) 23:31:20.43ID:ONx8T6wJ0 誰も逆汗しないのな。
一昔前だったら
A「俺がやってみるから待ってろ。」
B「いや、俺がやるから(ry」
C「いやいや、俺こそが」
AB「「どうぞどうぞ」」
の前振りだったのに。
VC++2019のデバッグモード
int y = (x = 1) + (x = 2);
00C118FF mov dword ptr [x],1
00C11906 mov dword ptr [x],2
00C1190D mov eax,dword ptr [x]
00C11910 add eax,dword ptr [x]
00C11913 mov dword ptr [y],eax
最適化したら 304 になるんだろうけど。
一昔前だったら
A「俺がやってみるから待ってろ。」
B「いや、俺がやるから(ry」
C「いやいや、俺こそが」
AB「「どうぞどうぞ」」
の前振りだったのに。
VC++2019のデバッグモード
int y = (x = 1) + (x = 2);
00C118FF mov dword ptr [x],1
00C11906 mov dword ptr [x],2
00C1190D mov eax,dword ptr [x]
00C11910 add eax,dword ptr [x]
00C11913 mov dword ptr [y],eax
最適化したら 304 になるんだろうけど。
306デフォルトの名無しさん (ブーイモ MMb3-R4wo)
2020/06/26(金) 23:34:17.38ID:GYQIE3peM クソ冗長なコードだな
307はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 0f3e-NJGG)
2020/06/27(土) 00:56:28.31ID:VCabyp7F0 >>297
/ と * の優先順位は等しくて左結合なんだから疑問の余地はない。
a/2*b と書いてあったら a を 2 で割ってからそれに b をかける。
またはそうしたかのように見えるような振舞いをすることは保証される。
そうなってなかったらコンパイラのバグだよ。
/ と * の優先順位は等しくて左結合なんだから疑問の余地はない。
a/2*b と書いてあったら a を 2 で割ってからそれに b をかける。
またはそうしたかのように見えるような振舞いをすることは保証される。
そうなってなかったらコンパイラのバグだよ。
308デフォルトの名無しさん (ワッチョイ 3f85-NJGG)
2020/06/27(土) 01:04:32.76ID:zYxBmbbI0 「回避手段があるならバグとしない。」
309デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 01:14:50.37ID:qKnmoagb0 例えばスケーリングなんかの時、オーバーフローを避けるため割り算やってから掛け算することもあるし、丸め誤差を小さくするため掛け算やってから割り算することもあるし、
意図して式書いてるんだから順序を勝手に変えられたらやっぱり大問題だよな。
意図して式書いてるんだから順序を勝手に変えられたらやっぱり大問題だよな。
310デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 07:08:40.12ID:TsX0h7IG0311デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 07:18:53.17ID:TsX0h7IG0 >>311
ありがとうございます、たしかに副作用完了点に対する私の誤解です
@値の評価の問題、と、A副作用の問題、とを完全にごった煮にしてました、今回は副作用は関係ない…
>QZがここまでアホだとは
現在までの推移を客観的に観察している限りにおいて、これはスランプでは済まず、私はこれからもっと阿呆になっていくのだろうと私は予測しています
https://mevius.5ch.net/test/read.cgi/tech/1434079972/ へのエントリー数もパッタリ止まってもう増えそうもありません
ありがとうございます、たしかに副作用完了点に対する私の誤解です
@値の評価の問題、と、A副作用の問題、とを完全にごった煮にしてました、今回は副作用は関係ない…
>QZがここまでアホだとは
現在までの推移を客観的に観察している限りにおいて、これはスランプでは済まず、私はこれからもっと阿呆になっていくのだろうと私は予測しています
https://mevius.5ch.net/test/read.cgi/tech/1434079972/ へのエントリー数もパッタリ止まってもう増えそうもありません
313デフォルトの名無しさん (ワッチョイ 3f01-76DX)
2020/06/27(土) 08:38:40.98ID:Fil4ka9J0 >>296
鼻から悪魔ネタはもうお腹いっぱい
鼻から悪魔ネタはもうお腹いっぱい
314デフォルトの名無しさん (ワッチョイ 3f01-76DX)
2020/06/27(土) 08:39:33.42ID:Fil4ka9J0 >>309
行を分けて書けばいいだけ
行を分けて書けばいいだけ
315デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/27(土) 08:42:53.25ID:aqzZKmXR0 アホが使うと使い手とそっくりな動きになる
Cとはそういうものだ
Cとはそういうものだ
316デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 08:45:36.41ID:TsX0h7IG0317デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 08:48:05.70ID:TsX0h7IG0318デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 08:51:31.93ID:TsX0h7IG0 オーバーフローを最近勉強して
それだけが気になって
それを回避するために別の問題を起こす
初心者君のたわごとだから
放置すればいいんだけど
それだけが気になって
それを回避するために別の問題を起こす
初心者君のたわごとだから
放置すればいいんだけど
319デフォルトの名無しさん (ワッチョイ 3f0e-NJGG)
2020/06/27(土) 08:57:09.10ID:aqzZKmXR0 どんくらいまでの誤差を許容すべきかは
なかなか数学的な考えどころ
なかなか数学的な考えどころ
320デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 09:11:00.12ID:TsX0h7IG0 許容誤差
パラメーターの対応範囲
コスト
保守性、可読性、...
これらを総合的に考えてコードを作るのが普通
1個だけの要素が気になるといびつな実装になる
色々な規格も偏った視野で作られる事が多くて
いびつな物が多い
それぞれの項目を勉強するのはもちろん良いこと
パラメーターの対応範囲
コスト
保守性、可読性、...
これらを総合的に考えてコードを作るのが普通
1個だけの要素が気になるといびつな実装になる
色々な規格も偏った視野で作られる事が多くて
いびつな物が多い
それぞれの項目を勉強するのはもちろん良いこと
321デフォルトの名無しさん (ワッチョイ 3f4f-NJGG)
2020/06/27(土) 09:23:41.94ID:6HwwPL420 >>317
両方起こりえる状況なら変数の精度不足というバグか。
両方起こりえる状況なら変数の精度不足というバグか。
322デフォルトの名無しさん (ワッチョイ 3f01-76DX)
2020/06/27(土) 09:32:46.13ID:Fil4ka9J0 >>316
ああアホには「文」を分けると書かないとわからんかw
ああアホには「文」を分けると書かないとわからんかw
323デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 09:40:26.98ID:TsX0h7IG0324デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 09:50:13.95ID:qKnmoagb0 オーバーフローの話は (imax + imin) / 2 ではなく imin + (imax - imin) 2 と書けば回避できるってのが発端なわけだけど、何がそんなに気にくわないんだ?
盲点とも言えるよくやりがちなことなんだから、素直に吸収しときゃいいんじゃないの?
盲点とも言えるよくやりがちなことなんだから、素直に吸収しときゃいいんじゃないの?
325デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 10:02:32.81ID:TsX0h7IG0326デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 10:08:05.06ID:qKnmoagb0 >>325
それってどれのこと?
それってどれのこと?
327デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 10:11:14.54ID:qKnmoagb0328デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 10:20:58.17ID:TsX0h7IG0 元はカーニハンとかいう人だろ
その影響を受けたのが>>268
オーバーフローの可能性が無いなら
前者のままでも良いっていうか
前者の方が良い場合もある
コストは確実に前者の方が安い
リニア検索ではなくてコードサイズの大きな2分検索を使うあたり
パフォーマンスが全くどうでも良い所ではないということもわかるわけで
移植性は後者、コストは前者、
可読性は微妙だが前者?
intよりsize_tを使うべきなんて思ってないよ
使う範囲、使う環境、移植性、...
などなどでどうするべきかは変わる
その影響を受けたのが>>268
オーバーフローの可能性が無いなら
前者のままでも良いっていうか
前者の方が良い場合もある
コストは確実に前者の方が安い
リニア検索ではなくてコードサイズの大きな2分検索を使うあたり
パフォーマンスが全くどうでも良い所ではないということもわかるわけで
移植性は後者、コストは前者、
可読性は微妙だが前者?
intよりsize_tを使うべきなんて思ってないよ
使う範囲、使う環境、移植性、...
などなどでどうするべきかは変わる
329デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 10:23:22.01ID:qKnmoagb0330デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 10:23:42.01ID:TsX0h7IG0 C言語スレだから
チープな8bit環境から
スーパーコンピューターまで
様々な所で使われる
重視すべき項目は時と場合で大きく違う
チープな8bit環境から
スーパーコンピューターまで
様々な所で使われる
重視すべき項目は時と場合で大きく違う
331デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 10:25:33.79ID:TsX0h7IG0332デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 10:29:38.97ID:qKnmoagb0333デフォルトの名無しさん (ワッチョイ 4fb3-WMoV)
2020/06/27(土) 10:49:08.20ID:TsX0h7IG0334デフォルトの名無しさん (ワッチョイ 0fca-bwNs)
2020/06/27(土) 11:08:27.27ID:qKnmoagb0 >>333
たぶん論旨は伝わったと思うので追い打ちかけるつもりではないが、レス付けるに当たっては「オーバーフローを回避するなら」と必ず付けてるし、扱う値の範囲を鑑みて型が充分か考慮しろと言ってるだけのことな。
扱うのが宇宙の座標をメートル単位で、くらいの話なら double でもオーバーフロー的な問題は無いなとか、
でももしシミュレーションで宇宙を100次元空間として体積を求める話だったら double でも大丈夫かな?とか考慮するでしょ。
まあそんなケースだと値の大きさより有効桁の方が心配だけど、なんにしてもとりあえずデカい型だから大丈夫wなんて漫然と思ってるならただのアホという至極当然の話。
たぶん論旨は伝わったと思うので追い打ちかけるつもりではないが、レス付けるに当たっては「オーバーフローを回避するなら」と必ず付けてるし、扱う値の範囲を鑑みて型が充分か考慮しろと言ってるだけのことな。
扱うのが宇宙の座標をメートル単位で、くらいの話なら double でもオーバーフロー的な問題は無いなとか、
でももしシミュレーションで宇宙を100次元空間として体積を求める話だったら double でも大丈夫かな?とか考慮するでしょ。
まあそんなケースだと値の大きさより有効桁の方が心配だけど、なんにしてもとりあえずデカい型だから大丈夫wなんて漫然と思ってるならただのアホという至極当然の話。
335デフォルトの名無しさん (ワッチョイ 3f01-76DX)
2020/06/27(土) 12:40:30.36ID:Fil4ka9J0336デフォルトの名無しさん (スプッッ Sde3-WMoV)
2020/06/27(土) 12:53:15.33ID:F1FZoULud >>334
状況によって適切なコードを選ぶべきと思ってるなら別にいい
そうじゃなさそうだったので
「間違ってる」「バグ」「正しくない」という主張じゃなかった?
2分検索が10%しか正しく書けないなんてことはないと思うんだがね
状況によって適切なコードを選ぶべきと思ってるなら別にいい
そうじゃなさそうだったので
「間違ってる」「バグ」「正しくない」という主張じゃなかった?
2分検索が10%しか正しく書けないなんてことはないと思うんだがね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【芸能】瀧本美織 冬の八重洲に美声響かせた「歌って心がぽかぽか温まりました」 [湛然★]
- キ...キャ...キャ...キャン...
- (´・ω・`)おはよ
- 【悲報】女さん「ハローワークで仕事を探してる3-40代の中年男性いるでしょ。あれ何?」 [483447288]
- ( ・᷄ὢ・᷅ )博士メロつき界隈
- 立憲議員、津波警報発令中にニコニコ写真をアップ [279254606]
- 中国人、ガチ超正論。「日本人がアイヌに対してやったことを『問題ない』とするなら、中国が日本人に同じことをしても文句ないだろう?」 [314039747]
