問題タブ [arithmetic-expressions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 科学的記数法をbashで10進数に変換する
科学的記数法で格納されている数値を浮動小数点の小数に変換したいので、データに対していくつかの比較を実行できます。これはbashスクリプトで実行されています-コードの小さなスニペットは次のとおりです。
私の問題は、<
オペランドが基本的にすべての圧力値を選択していることです。これらの値は、を使用すると科学的記数法で保存され、を使用すると選択され<
ません>
。私はミリバールではなくパスカルで大気圧の測定値を見ています。
出力例は次のとおりです。
これらの嵐はどちらも選択基準を満たしてはなりません!
c# - 型変換による算術エラーの可能性について警告する方法は?
私はC#を使用して計算モジュールに取り組んでいますが、これにぶつかりました:
私はこれが間違った初期化であることを知っていますv = 0.0
。v = 0.04
C# の規則では、次のように、メンバーの少なくとも 1 つが doubleであることを確認する必要があります。
しかし、私は整数変数操作を含むその種の初期化を数多く行っており、そのような間違いを検出するためにコードを 1 行ずつ参照するのが面倒です。
代わりに、これについてコンパイラから警告を受けることは可能ですか?
prolog - Prolog で算術パーサーを実装する
次のプロローグ コードがあります。
コンパイル後、マシンは次のタイプのクエリに対してコマンド ラインで「yes」と応答します。
これを数値のみに制限するにはどうすればよいですか? したがって、次のように、数値を含む式のみが真である必要があります| ?- expression([92,'+',23.48],[]).
。
java - Javaで区切り記号付きの2桁以上の数字
1桁の数字を入力するときにうまく機能するこの基本的なプログラムがあります。しかし、1337 - 456 + 32 のように複数の数字を含む式を計算すると、プログラムは先に進まず...何もしなかったかのように振る舞います。フリーズしたり、エラー メッセージを出力したりせず、停止するだけです。
コードは次のとおりです。
これが発生する理由と、それを修正するために何をすべきかを教えてください。(それが役立つ場合は、ネットビーンズを使用しています)
また、入力には各数値の間にスペースがあると想定しています例: 123 + -23 - 5
python - 基本的な減算のPythonエラー?
Python で減算 1 - 0.8 を正しく実行して代入することができません。間違った答え、0.19999999999999996 が出続けます。
私は少し調べました:
そして、このエラーは、0 から 1 の間の小数第 3 位までの浮動小数点数のややランダムなグループで発生することを発見しました。これらのフロートを 2 乗するときにも同様のエラーが発生しますが、サブセットが異なります。
これについての説明と、Python に正しい算術演算をさせる方法を期待しています。Usinground(x,3)
は私が現在使用している回避策ですが、エレガントではありません。
ありがとう!
これは、私の Python 2.7.3 シェルでのセッションです。
以下は、いくつかのオンライン インタープリターに挿入したコードです。
そして出力:
java - intの基本的な算術演算-Java
最近、Javaの基本的な算術演算に関するJavaの特異性に気づきました。次のコードで
「タイプの不一致」コンパイルエラーが発生します...
Javaの基本的な算術演算(、、、 )は、より高次のプリミティブデータ型(、、など)でのみ実行されますが、+
との算術演算は最初にキャストされてから評価されますか?-
*
/
int
long
double
byte
short
int
r - Rでは、factorial(100)がprod(1:100)と異なって表示されるのはなぜですか?
RIで、私が説明できない奇妙な行動を見つけています。ここの誰かが説明できることを望んでいます。100の価値があると思います!この大きな数です。
予想される動作を示すコンソールからの数行...
しかし、100を試してみると!私は次のようになります(結果の数値が約14桁でどのように異なり始めるかに注意してください):
「既知の」数100に設定された変数に対していくつかのテストを実行すると!次に、次のように表示されます。
最終結果はゼロと評価されますが、値100!に設定された変数がどこにあるprod( as.double( 1:100 ) )
かを正しく評価しても、返される数値は期待どおりに表示されません。prod( as.double( 1:100 ) ) - n
n
誰かが私にこの振る舞いを説明できますか?私がx64システムを使用しているので、私が知る限り、オーバーフローなどに関連するべきではありません。以下のバージョンとマシン情報:
誰かが私にこれを説明できますか?Rがすべてを正しく実行することは間違いありません。これは、おそらくuseRに関連しています。prod( as.double( 1:100 ) ) - n
私が気になっていることを正しく評価しているので、プロジェクトオイラー 問題20を実行しているので、正しい数字を表示する必要があることを指摘するかもしれません。
ありがとう
c - C、丸めの問題。UWORD、ints、およびdoubles
これらの操作の結果がどうなるかについて、いくつか質問があります。
まず、2つの整数があり、それらを除算して結果をdoubleに保存する場合。1/2が1ではなく0.5に等しくなるような丸めの問題はありますか?
次に、この比率にUWORDを掛けると、問題は発生しますか?
ちなみに、これらを行うとコンパイラの警告が表示されます
visual-c++ - 単一の変数で初期化して計算するのは悪い習慣ですか? ビジュアル C++
変数内で初期化して算術演算を行うのは悪い習慣ですか? つまり、面積を見つける必要がある異なる面積の部屋が複数あるとします。
(フィートの例)
または、次のことを行うのが最善ですか:
ここで 2 つの方法に違いはありますか、それとも同じことであり、単にスタイルの問題ですか?
performance - What's more costly on current CPUs: arithmetic operations or conditionals?
20-30 years ago arithmetic operations like division were one of the most costly operations for CPUs. Saving one division in a piece of repeatedly called code was a significant performance gain. But today CPUs have fast arithmetic operations and since they heavily use instruction pipelining, conditionals can disrupt efficient execution. If I want to optimize code for speed, should I prefer arithmetic operations in favor of conditionals?
Example 1
Suppose we want to implement operations modulo n
. What will perform better:
or
?
Example 2
Let's say we're converting 24-bit signed numbers to 32-bit. What will perform better:
or
?