問題タブ [integer-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.
c - 数値が別の数値で割り切れるかどうかを C で確認する最良の方法はどれですか?
数値が別の数値で割り切れるかどうかを C で確認する最良の方法はどれですか? 私はこれを使用します:
とにかく速いのはありますか?つまり、130 % 13 を実行すると、10 回あたり 130 / 13 を実行することになります。したがって、1 つだけが必要な場合は 10 サイクルあります (130 が 13 で割り切れるかどうかを知りたいだけです)。
ありがとう!
c++ - 除算がバイトをまたがらない
uint128_t
2 で構成されるa で割り算をしようとしていますuint64_t
。奇妙なことに、関数はuint64_t
s に対して下限値のみが設定され、上限値 = 0 で機能します。理由はわかりません。
除算とビットシフトのコードは次のとおりです
メモリ管理に対する私の露骨な無視を無視してください。
javascript - 浮動小数点演算による一貫した整数除算
JavaScript で整数除算を行う必要がありますが、これでは倍精度浮動小数点数しか得られません。通常はただ実行Math.floor(a / b)
(またはa / b | 0
) して終了しますが、この場合はロックステップで実行されるシミュレーションを実行しており、64 ビットまたは 80 ビットの内部精度を使用しているかどうかに関係なく、マシンとランタイム全体で一貫性を確保する必要があります。
これまで矛盾に気づいたことはありませんが、それらが起こり得ないことを決定的に納得させることはできませんでした. だから私は疑問に思っています:
とがそれぞれ 0..2^31-1 と 1..2^31-1 の範囲の整数であると仮定する
a
と、JavaScript からの結果(および) はマシンとランタイム間で一貫性があることが保証されますか?b
Math.floor(a / b)
a / b | 0
なぜですか、そうでないのですか?
c# - C# の double、decimal の問題
この計算を行う理由: double number = (13 /(13+12+13))
は 0 ですか?
だいたい0.34くらいだと思います!
ありがとう!
c++ - div関数は役に立ちますか(stdlib.h)?
C、C ++にはdivという関数があります(stdlib.h)
ただし、C、C ++には/および%演算子があります。
私の質問は、「/および%演算子がある場合、div関数は役に立ちますか?」です。
opengl - float として解釈されるように 16 進数の定数を装飾できますか?
何かに興味があるだけです。OpenGL で使用できるように、HTML の色 (個々の色コンポーネントは 2 桁の 16 進数値で表されます) を 0.0 から 1.0 の間の浮動小数点数に変換しているときに、あることに気付きました。16 進数値を 255 で除算して対応する OpenGL を取得する必要がありますが、整数除算が生成されるため、16 進数値をそのまま使用することはできません。
これで、これらすべてがこの問題を回避できることがわかりました(もちろん)...
...しかし、キャスト、計算、または中間変数を実行する必要なく、16 進数値を浮動小数点数として解釈する方法があるかどうか疑問に思っていました (1.0f の「f」で行うように)。
これらはもちろん機能しません...
繰り返しますが、コードが正常に機能するため、必要な結果を達成する方法を見つけようとはしません。上記の 3 つの方法を使用する代わりに、16 進値を「f」が 10 進値でどのように機能するかに似たもので装飾することで、コードをよりきれいにすることができるかどうか疑問に思っています。
c++ - Visual C ++は、IDIVの代わりにDIVを生成します(x86、整数演算)
ここではVisualC++ 2008(9.x)を使用しており、IDIVではなくDIVを生成するコンパイラーに遭遇したときに固定小数点値を準備していました。コードを小さな断片に折りたたんで、正確に再現しました。
簡単な分解で煩わされることはありません。
ショートカットを使用して除数の型(関数パラメーター、unsigned int numPixels)を変更する代わりに、3番目の(test3)の場合、コンパイラーがIDIVよりもDIVを選択するのはなぜですか?符号なし16ビット除数であり、とにかく符号なし演算を必要とするものは実際にはありません。少なくともそれは私が思うことであり、私が間違っていることを願っています:)
vb.net - \はVBで整数除算を実行しますか?
VB.NET では、両方のオペランドが整数であっても、/
演算子によって値が浮動小数点になります (結果が整数でない場合)。
そこで\
、オペランドに関係なく整数値を返す演算子を試してみました。
だから私\
は整数除算だと思った。
2.5 \ 3
になります0
。
今私は試し1.5 \ 2
ました。と予想しました0
が、結果は1
.
さて、それはバグですか、それとも正しい結果ですか?
実際の\
オペレーターは?
バグの場合は、VB6 を通じて存在します。
java - 整数除算コードが間違った答えを返すのはなぜですか?
私はJavaで非常に単純な除算をしています(これは製品の数量/時間あたりの生産です)が、この除算を行うたびに奇妙なエラーが発生します:
上記の分割をいくつかの値で試しましたが、常にエラーが発生しますが、他の場所で試して正しくなったのは次のとおりです。
世界のどこでも:
ジャワ:
BigDecimal と BigInteger を調査しましたが、この除算を作成する方法が見つかりませんでした。精度エラーなしで Java でこの除算を行う方法は他にありますか??
どんな助けでも大歓迎です。
linux - Linuxのdo_div()は32ビットおよび64ビットアーキテクチャで機能しますか?
カーネルモジュールで整数除算を行う必要があり、そのためにdo_div()を使用しています。私のマシン(私はi686プロセッサを持っています)で動作するようですが、どこでも動作するかどうかはわかりません。do_div()
32ビットおよび64ビットアーキテクチャで正しく機能する必要があるかどうか、または既知の制限があるかどうかを誰かが確認できますか?
カーネル2.6.38でUbuntu10.04を使用しているので、2.6.38以上のカーネルのサポートに興味があります。
カーネルで整数除算を行うより良い方法を誰かが知っているなら、私も興味がありますdo_div()
。
よろしくお願いします
ダニエル