- 2009年7月14日 00:59
- つぶやき
彼は熱拡散かなんかのシミュレーション(プログラミングね)をしてたんですが、どうにもこうにもならないということで、二人で際限無い沼にはまっていきました。
その原因を要約するとこんな感じです。
「"1 / 3 * 3"の値が期待したものになっていなかった」
分かってしまえばなんてことは無い問題なんですけどね。っていうか気付けよ俺。
「いや、そんなのジョーシキでしょ。パソコンで 1 / 3 * 3 しても正確に1にならないんだよ。」
と、思われるかもしれませんが、
「1 / 3 * 3 ≒ 1」 ですらありません。
exactly に「1 / 3 * 3 = 0」でした。
今更ながら C の厳密さには頭が下がります。
二項演算子 "/" は引数が両方 int だと、当然 int で結果を返してくれるんですね。
とりあえず C の話でしたが、恐らく明示的に型指定できる言語ってだいたいそうなってますよね常考。
例外は Perl ぐらいか。
- Newer: メールアドレスの大文字小文字は区別されるか
- Older: Evangelion: 2.0 YOU CAN (NOT) ADVANCE