Home > つぶやき > 1 / 3 = 0

1 / 3 = 0

彼は熱拡散かなんかのシミュレーション(プログラミングね)をしてたんですが、どうにもこうにもならないということで、二人で際限無い沼にはまっていきました。

その原因を要約するとこんな感じです。

「"1 / 3 * 3"の値が期待したものになっていなかった」

分かってしまえばなんてことは無い問題なんですけどね。っていうか気付けよ俺。

「いや、そんなのジョーシキでしょ。パソコンで 1 / 3 * 3 しても正確に1にならないんだよ。」

と、思われるかもしれませんが、

「1 / 3 * 3 ≒ 1」 ですらありません。

exactly に「1 / 3 * 3 = 0」でした。

今更ながら C の厳密さには頭が下がります。

二項演算子 "/" は引数が両方 int だと、当然 int で結果を返してくれるんですね。

とりあえず C の話でしたが、恐らく明示的に型指定できる言語ってだいたいそうなってますよね常考。

例外は Perl ぐらいか。

Comments:0

Comment Form

画像の中に見える文字を入力してください。

Trackbacks:0

TrackBack URL for this entry
http://tetlist.info/mt/mt-tb.cgi/60
Listed below are links to weblogs that reference
1 / 3 = 0 from TETLIST

Home > つぶやき > 1 / 3 = 0

Search
Feeds

Return to page top