アプリ版:「スタンプのみでお礼する」機能のリリースについて

標記の件、
当方の開発環境では、実数演算の速度が、計算する値によって変わるようです
開発環境は Borland C++ 3 です

数値計算を行っており、変数の値がたとえば 3.2E-310 などの様に指数値が大きいときは演算速度が異様に遅くなります

何か間違ってますか?

A 回答 (3件)

一つ一つの計算は、そんなに違いはでないはずです。



例えば、その変数が1ステップの幅で、小さくなるとループ回数が増えて時間がかかる、とかはありませんか?

あと。E-310までいくとdoubleの限界に近いので、それが悪さしている可能性はあります。

https://en.wikipedia.org/wiki/Borland_C%2B%2B#Ve …
このBorland C++ 3 のことだとすると、古すぎて最近のCPU用に最適な状態にはコンパイルできないかもしれません。
    • good
    • 0

アンダーフローの例外を起こしていないだろうか?


例外を起こすと割り込み処理が発生するため大変遅延する。
まぁ、対処方法としてはアンダーフローを起こさないようにするって事ぐらいですね。

コンパイラとOS環境などに依存するので、こちらでは確認が困難。
    • good
    • 0

対象のシステムと仮数の桁数と演算の種類によって変わる。


8ビットシステムでは面倒な処理を行わなければならないため時間が掛かる。
昨今の指数演算を得意とするプロセッサならば変わらないと思って良い。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!