シフト、加算、減算などのビット単位の演算を行うだけで、範囲[0,99]の数値を10で簡単に分割できるかどうかは疑問でした。私は32ビットを使用して近似を行ういくつかの解決策を見たので、8ビット幅のレジスタで動作するソリューションです。限られた範囲(唯一の10の可能な結果がある)を考えると、あなたはバイナリ検索の種類ともっと良いかもしれませんビット単位の10による除算
0
A
答えて
1
:nは< 20場合のn < 50は、n個< 30そしてnは< 10であれば、その後は0それ以外を返す場合場合戻り値1 else return 2 else if else <戻り値3 else return 4 else ...(handle 5..9)
0
指定されたメソッドhereは、任意のビット幅に対して一般化できます。基本的には、(1/10)* 2 **(ビット幅)を見つけて除数で乗算し、右シフトではビット幅で乗算します。プログラムではJavaScriptを使用して
、これは次のようになります。
function bitwiseDivApprox(dividend) {
var divisor = 26; // Math.ceil((1/10) * Math.pow(2, 8))
return (divisor * dividend) >> 8;
}
10で[分割の
関連する問題
- 1. ビット単位のモジュラス計算
- 2. ビット単位の演算子による行列乗算
- 3. 円のビット単位の演算 - as3
- 4. 定数のMasmビット単位の演算
- 5. COBOLのビット単位論理演算子?
- 6. ビット単位の演算子(インクリメントデクリメントあり)
- 7. ビット単位の演算子標準は
- 8. JavaScriptとビット単位の演算子
- 9. JavaScriptビット単位の演算子
- 10. CUDA int4ビット単位の演算
- 11. がどのようにビット単位の演算子を列挙
- 12. ビット単位の演算を計算する方法
- 13. PHPのビット単位および符号なしint演算
- 14. 2の累乗で除算をビット単位でシフトする方法は?
- 15. 0b1111_1111のバイト単位のビット単位の演算は何をしますか?
- 16. 10進数から整数へのビット単位の変換
- 17. Cのバイナリをcharで受け取るビット単位の演算
- 18. ビット単位のAND演算子を使用してJavaに「&」
- 19. バイト単位でビット単位でインクリメント(C#)
- 20. ビット単位とComparator.comparing
- 21. ビット単位のAND正常および
- 22. ビット単位の計算を理解する
- 23. ビット単位のシフトとインクリメントで減算を実装する
- 24. TSQLビット単位のNOTビットを反転
- 25. ビット単位の演算子の出力の差
- 26. C#のビット単位のAND演算子「&」ロジック
- 27. C++のブーストライブラリを使用したビット単位の演算
- 28. ビット単位の演算子とシフトの問題
- 29. ビット単位の演算での文字変換
- 30. ビット単位でのシフト
可能な複製を(これは、おそらく非常に少数のためにこれを最適化しようとすることの価値ではない、と述べています)ビットシフトを使用していますか?](http://stackoverflow.com/questions/5558492/divide-by-10-using-bit-shifts) – Ashigore
質問をよく読んでいたら、私は8ビットワイドレジスタ。その質問への答えは、数字を32だけシフトすることです。 – Pure