問題タブ [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.

0 投票する
7 に答える
117594 参照

perl - Perlで整数除算を行うにはどうすればよいですか?

Perlで常に整数除算を行うための良い方法は何ですか?

たとえば、次のようにします。

0 投票する
8 に答える
11091 参照

java - 6 または 7 で割り切れるが、両方で割り切れない整数を見つける

1 から 100 までの整数のうち、6 または 7 で割り切れるが両方で割り切れないものを表示するプログラムを作成しようとしています。

これが私のコードです:

上記のコードは、次の回答を示しています: 6,7,12,14,18,21,24,28,30,35,36, 42 ,48,49,54,56,60,63,66,70,72, 77,78, 84 ,90,91,96,98

これで、太字の数字 42 と 84 は両方とも 6 と 7 で割り切れます。上記のコードで||toを変更すると、結果は 42 と 84 だけを示します。&&

最終結果からこれら 2 つの数値を削除するには、どのような変更を行う必要がありますか?

0 投票する
6 に答える
1042 参照

c - 大きな数の割り算の 10 進数の最初の桁を計算するにはどうすればよいですか?

X と Y の 2 つの unsigned long long があり、X < Y ですが、どちらも非常に大きい可能性があります。X / Y の小数点以下の最初の桁を計算したい。たとえば、X が 11 で Y が 14 の場合、11 / 14 は .785 になるので、結果は 7 になるはずです。

(X * 10) / Y は機能しますが、X * 10 がオーバーフローした場合に間違った結果が生成されます。double への変換は、正しい結果を計算するのに十分正確であると信じる理由があればうまくいきます。

これはCです。助けてくれてありがとう!

0 投票する
4 に答える
2766 参照

iphone - 浮動小数点演算の回避

iPhone用の小さなソフトウェアシンセを書きました。
パフォーマンスをさらに調整するために、Sharkを使用してアプリケーションを測定したところ、float/SInt16変換で多くの時間が失われていることがわかりました。
そこで、「すぐに使用できる」SInt16サンプルを返すルックアップテーブルを事前に計算して、変換を回避するためにいくつかの部分を書き直しました。これは今のところうまく機能します。
現在、整数演算のみを使用するようにいくつかのフィルターとADSRエンベロープの実装を書き直そうとしていますが、浮動小数点数なしで乗算/除算を実行する方法についていくつかのヒントを使用できます。
私はiPhoneの標準フォーマットをターゲットにしています:

  • LPCM
  • 16ビット整数サンプル

フロートを使用せずに最終サンプルに振幅を適用するための良いアプローチは何ですか?

編集:
私がこれまでに理解した唯一のことは、現在のサンプルを右シフトすることで2の累乗で割ることができるということです。

しかし、それを使ってスムーズなADSRエンベロープを作成するためのエレガントな方法は考えられません。

Edit2: すべての素晴らしい答えをありがとう!
私の現在のアプローチ:

  • すべてのADSRエンベロープ値を正のSInt16範囲にします
  • ウェーブテーブルからの現在の値を乗算します(中間体をSInt32として格納します)
  • 結果を右に16シフトします

これはうまくいくようです:)

0 投票する
6 に答える
3320 参照

c++ - coutの出力が<<7/9*9であるのはなぜですか。ゼロですか?

次のコードの出力が0またはservenに等しいのはなぜですか?

助けてくれてありがとう。

0 投票する
6 に答える
687 参照

c - この除算の結果がゼロになるのはなぜですか?

次の問題が発生したとき、私はこのコードをCで書いていました。

kコードが最初と3番目の変数(および)に対してゼロを返す理由を誰かに教えてもらえますaか?

0 投票する
3 に答える
7090 参照

64-bit - 64ビットマシンでの符号なし128ビット除算

128ビットの数値を2つの64ビットの数値(「Hi」と「Lo」)として格納しています。32ビットの数値で割るだけです。CPUからのネイティブ64ビット演算を使用して、どうすればそれを行うことができますか?

(任意精度のライブラリは必要ないことに注意してください。ネイティブ操作を使用してこの単純な除算を行う方法を知っておく必要があります。ありがとうございます)。

0 投票する
1 に答える
7450 参照

python - フロア商と比較した整数除算:なぜこの驚くべき結果なのか?

Pythonの//「整数除法」演算子は、今日私を驚かせました。

ドキュメントには、「(床の)xとyの商」と書かれています。では、なぜmath.floor(11 / 1.1)は10に等しいのに、11 // 1.1は9に等しいのですか?

0 投票する
6 に答える
9122 参照

java - "long x = 1/2" は 1 または 0 に等しいのですか? またその理由は?

次のようなものがある場合:

これは1に切り上げるべきではありませんか?画面に印刷すると、0と表示されます。

0 投票する
5 に答える
1627 参照

java - Java で double 型を使用した除算のエラー

わかった。私は 2 時間ほど頭を壁にぶつけていましたが、なぜ世界が 0double answer = 364/365;だと言っているのかを理解しようとしています。どうして。answerdouble