少し前に、ビット演算子を使用してモジュロ演算を実行するためのトリックを見たことがあります。しかし今、私は決して適切な操作を行うことができません。誰でもその方法を知っていますか?私が覚えていることから、%を使うよりも速かった。モジュロ演算を実行する他の方法
5
A
答えて
8
「トリック」が1の値は、任意の奇数の最初のビットがビット単位を使用するので、1
var foo = 7;
if(foo & 1) { // true
}
に設定されている必要がありますバイナリAND
することであり、優れたパフォーマンスのを持っていますほぼすべてのプラットフォーム/ブラウザ
for(var loop = 0; loop < 10; loop++) {
if(loop & 1) {
console.log('I am ', loop, ' and I am odd!');
}
}
8
2^k(2の累乗)のモジュロは、(2^k)-1で値を論理積することでできます。
+1
+1が正数の場合のみ –
関連する問題
- 1. モジュロ演算子
- 2. 行列演算のモジュロ誤差
- 3. 単純なモジュロ演算
- 4. SQLの日付のモジュロ演算
- 5. モジュロ演算子の代わりに
- 6. Oracleタイムスタンプ(SQL)で算術演算を実行する方法は?
- 7. 浮動小数点モジュロ演算
- 8. J2MEでXOR演算を実行する方法
- 9. Python:モジュロ演算子での奇妙な振る舞い
- 10. モジュラス/モジュロ同等の演算子/関数のdjangoテンプレートですか?
- 11. Pythonモジュロ演算子を使用したリストの並べ替え
- 12. C#:タイプとしての 'as'演算の実行方法
- 13. モジュロ演算子の結果の符号は?
- 14. タプル演算を行うエレガントな方法
- 15. GPUでの整数演算とビット演算の実行
- 16. アセンブリ言語 - モジュロを行う方法?
- 17. これを実行する最速の方法は?三元演算子?スイッチ?アレイ?
- 18. where句のテキストフィールドで算術演算を行う方法は?
- 19. 実数のモジュロでpow()を計算するには?
- 20. 算術演算をSYSTEMTIMEで実行する
- 21. 演算子の実行順序<<
- 22. DLRで三項演算子を実装する方法
- 23. MySQLで三項条件演算子を実装する方法
- 24. グリッドビューの列からデータをフェッチし、列に対して算術演算を実行する方法は?
- 25. モジュロ演算子を使用しないJavaの偶数番号のテスト
- 26. モジュロ乗算(C言語)
- 27. 数値型を数値型に変更してjavascriptで算術演算を実行する方法
- 28. ビット単位の演算を計算する方法
- 29. Bash:2行の文字列演算を1行に適用する方法は?
- 30. 他の比較演算子を1回の呼び出しで実装する
http://en.wikipedia.org/wiki/Modulo_operation#Performance_issues - 2の威力のために。 –
良い質問、私はここでチェックしました:http://jsperf.com/js-moduloと答えが良いようです! – TTT