タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとRubyとMathematicsに関するagwのブックマーク (2)

  • 浮動小数点演算ではまった話 - bkブログ

    浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x * 100 / y としないのは、 x が大きい場合に x * 100 が オーバーフローを起こす (INT_MAX を越える) ためです。 このコードは一見、期待通りに動いていたのですが、 しばらく使っていると、手元の環境では x = 53, y = 100 のときに a は 53 ではなく 52 になることに気づきました。 これは次の理由によります。 式の最初の (double)53 / 10

  • ln, log, log10 - まじかんと雑記

    一般に、プログラミングにおいて、対数は三種類ある。自然対数と、常用対数と、一般の底の対数だ。問題は、それらの表し方について統一的な決まりがないことだ。 一般的な関数電卓では、ln が自然対数を表し、log が常用対数を表す。そして任意の底についての対数を直接に計算する機能はないことが多い。一方、プログラミングにおける各種ライブラリなどにおいては、log が自然対数を表し、log10 が常用対数を表すことが多いような気がする。 というように、表記法が大まかに二つあるので、#Script においてはどうすべきか悩んでいる。 任意の底の対数については、log という名前の関数に二つの引数を渡すという点においてはバライエティがなくても、底と真数のどちらを先にするかという順番の問題がある。 とりあえず、いくつかのプログラミング言語(のライブラリ)について、対数をどのように指定するか調べた結果が次の表

    ln, log, log10 - まじかんと雑記
  • 1