teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/06/20 13:18

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -19,4 +19,9 @@
19
19
  ```
20
20
  こういう類の計算論理をテーブルルックアップに置き換えると単純化できる場合があるという例です。テーブルサイズをあまり大きくするとキャッシュミスがおきやすくなるのでそこそこのサイズにおさめておく配慮も必要と思います。
21
21
 
22
- 実用上はrtr1950xさん回答のように既存の機能を利用するのがよいと思いますがこうした論理を考えてみることでアルゴリズムの応用力がつく気がするので学習目的なら自前で実装を考えることは無駄ではないと思います。
22
+ 実用上はrtr1950xさん回答のように既存の機能を利用するのがよいと思いますがこうした論理を考えてみることでアルゴリズムの応用力がつく気がするので学習目的なら自前で実装を考えることは無駄ではないと思います。
23
+
24
+ ---
25
+ 追記:質問意図とはちょっと外れますが・・・
26
+
27
+ 他の方の回答と同様、上の論理も0ベース(一番右にあるときを0ビット目とする)を想定してます。どちらかといえば1ベースではなく0ベースで論理を考える機会が多いと思います。その方が都合がよいケースが多いからです。例えばnビット目から始めてmビット目・・・といった論理を考えるとき、1ベースだと結果の位置はn+m-1になりますが、0ベースならn+mとできます。複雑な論理になればなるほど0ベースの方が直感的に分かり易い論理にできるといえましょう。