タイトル : Re^4: 科学技術計算式の表示 投稿日 : 2016/04/20(Wed) 10:02 投稿者 : 計さん
魔界の仮面弁士様、返信ありがとうございます。 さらに詳しい説明までいただき大変助かります。 > > 例: > > 計算結果が『0.〜』の場合、『E』より後ろの数は『24』 > > 計算結果が『1.〜』の場合、『E』より後ろの数は『23』 > > やはり「指数表記」のようですね。 > 指数表記では、仮数部を 1 ≦ m < 10 の範囲に「正規化」するのが一般的ですし。 > (ちなみに E は exponent の意味です) やはり『指数表記』なんですね。そちらの方面の造詣は深くないのでほとんどわかりません。 > > > > 得たい結果は、べき乗の数が知りたかったようです。 > > 最初の式で、「100000000000000000000000」をかけていますよね。 > これは指数表記で 1.00E+23 という値を意味します。 > > 計算時には、1.0E+23 倍して整数部を大きくしてから計算し、 > 表示時には、1.0E+23 で割った値を表示するということでしょう。 > > > 仮に 100000000000000000000000 倍しておかなかった場合、先の計算式は > 0.0000000000000000000000125687394108575093753229057605478274314731659037191… > という値になります。この値は確かに先方が求める > 1.26E-23 > 1.25687394108575E-23 > といった表記と同じ値になりますよね。 なるほど、そういうことだったんですね。そうすると最初の計算式 (((((0.281397047049681 * 100000000000000000000000) / 338.07) * 0.000000025) / (30 ^ 2 * 200000)) / 9197.9) で『100000000000000000000000』を掛けずに出た計算結果を『Double』かなんかで宣言された 変数に格納して、それを表示させたら『〇.〇〇E-23』みたいな表記にできたかもしれないということ なんでしょうか? (あ、でも計算結果が小さすぎてその時点でオーバフローを起こすのかな?) > > IF文で計算結果が『0.〜』なのか『1.〜』なのかを > 2 以上になることは無いのですね? 一応、現場サイドに確認したところ『2.〜』になるような計算結果が出るような測定値だったら その時点で不良品なのでロットアウトとなりこの処理を走らせることはない ということでしたのでその点は大丈夫だと思います。 アドバイスありがとうございました。 |