問題タブ [division]
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.
java - CでのPythonスタイルの整数除算とモジュラス
Python と Ruby では、符号付き整数の除算は負の無限大に向かって切り捨てられ、符号付き整数のモジュラスは 2 番目のオペランドと同じ符号になります。
ただし、C および Java では、符号付き整数除算は 0 に向かって切り捨てられ、符号付き整数モジュラスは最初のオペランドと同じ符号を持ちます。
CでPythonやRubyと同じ種類の除算とモジュラスを実行する最も簡単で効率的な方法は何ですか?
puzzle - 数値が 3 で割り切れるかどうかを調べる
数値が 3 で割り切れるかどうかを判断するコードを記述します。関数への入力は 0 または 1 の単一ビットであり、これまでに受け取った数値が 3 で割り切れる数値のバイナリ表現である場合、出力は 1 である必要があります。ゼロ。
例:
これはインタビューの質問に基づいています。論理ゲートの図面をお願いしますが、これはスタック オーバーフローであるため、任意のコーディング言語を受け入れます。ハードウェア実装 (verilog など) のボーナス ポイント。
パート a (簡単):最初の入力は MSB です。
パート b (少し難しい):最初の入力は LSB です。
パート c (難しい): (a) と (b) では、どちらが速くて小さいですか? (理論的には Big-O の意味ではありませんが、実際にはより速く/より小さくなります。) 次に、より遅く/より大きなものを取り、より速く/より小さなものと同じくらい速く/小さくします。
python - Pythonでdatetime.timedeltaで除算を実行するにはどうすればよいですか?
次のことができるようになりたいです。
また
ただし、タイムデルタでは除算はサポートされていません。timedeltas の除算を実装する方法はありますか?
編集:これは Python 3.2 に追加されたようです (rincewind に感謝します!): http://bugs.python.org/issue2706
double - double の不正確な除算 (Visual C++ 2008)
QueryPerformanceCounter から返された時間値をミリ秒単位の double 値に変換するコードがいくつかあります。これは、カウントする方が便利だからです。
関数は次のようになります。
私が最近抱えている問題 (以前はこの問題はなかったと思いますし、コードに変更は加えられていません) は、結果があまり正確ではないということです。結果には小数は含まれませんが、1 ミリ秒よりも精度が低くなります。
デバッガーに式を入力すると、期待どおりの正確な結果が得られます。
double は 64 ビット整数の精度を保持できないことは理解していますが、現時点では、PerformanceCounter は 46 ビットしか必要としませんでした (そして、double は損失なしで 52 ビットを格納できるはずです)。分割を行う別の形式。
ここに私が得たいくつかの結果があります。プログラムはデバッグ モードでコンパイルされ、C++ オプションの浮動小数点モードはデフォルト (正確 (/fp:正確) ) に設定されました。
私のプログラムの結果と比較して、デバッガーのウォッチの精度が異なる理由を誰かが知っていますか?
更新: 変換と除算を行う前に、timerPerformanceCounter.QuadPart から 30270310439445 を差し引いてみましたが、現在はすべての場合で正確であるように見えます。この動作しか見られないのは、コンピューターのアップタイムが 16 日になり、値が以前よりも大きくなったためでしょうか? したがって、大きな数での除算の精度の問題であるように見えますが、ウォッチ ウィンドウで除算が依然として正しい理由はまだ説明されていません。結果に double よりも高精度の型を使用していますか?
algorithm - 除算演算子を使用しないプロセッサ上のアセンブリ mod アルゴリズム
除算演算子を持たないプロセッサ (ARM と考えてください) で 2 つの数値のモジュロを見つける単純なマクロを実装する必要があります。繰り返し減算による除算を使用することもできましたが、これが最も効率的であるか、作業が最も簡単であったかはわかりません。
助言がありますか?コードはさらに役に立ちます。この特定のクラスでは SPARC のサブセットを使用しているため、ほとんどの操作は次のようになりますadd r1, r2, rdest
。
a mod b == 0
この特定の割り当てでは、除算の余りがゼロであることを確認する必要があります。したがって、効率的な実装に向けたヒントや提案は大歓迎です。
plsql - 2 つの PL/SQL 選択ステートメントの結果の分割
2 つの PL/SQL 選択ステートメントの結果は整数 27 & 50 です。出力で除算 (27/50) 0.54 が必要です...どうすればよいですか?
select * from ((select....)/(select ...)) を試してみましたが、うまくいきません!!
c - 固定小数点演算ライブラリには、64ビットで96ビットの高速除算アルゴリズムが必要です。
私は現在、高速の32.32固定小数点数学ライブラリを作成しています。足し算、引き算、掛け算は正しく動作するようになりましたが、除算にかなりこだわっています。
思い出せない人へのちょっとした注意:32.32固定小数点数は、32ビットの整数部分と32ビットの小数部分を持つ数です。
私が思いついた最高のアルゴリズムには、96ビットの整数除算が必要です。これは、コンパイラーには通常組み込まれていないものです。
とにかく、ここに行きます:
ご覧のとおり、(a2*G*G)
は通常の64ビット整数よりも大きいことが保証されています。uint128_tが実際にコンパイラでサポートされている場合は、次のようにします。
そうではなく、解決策が必要です。ご協力ありがとうございました。
integer - 符号付き 64 × 32 の整数除算
(32 ビット被除数 << 32) / 32 ビット除数を使用して 64 × 32 の符号なし除算を行う特別なケースのマシン命令 udiv があると仮定すると、以下を使用して完全な 64 × 32 除算を行うことができます。
しかし、署名されたケースは私に問題を与えています。udiv の署名付きバージョンを実行する同等の sdive 命令を想定すると、残りの部分などを処理する方法がわかりません。
java - JSlider の表示可能なラベルを変更しますか?
最小値が 0 で最大値が 10,000 の JSlider があります。主な目盛りを 1,000 に設定しています。ここでラベルをペイントすると、0、1000、2000、3000、4000 などと表示されます。表示したいのは、0、1、2、3、4、5 などです。このタスクを達成するための良い方法はありますか?