bit 演算修行
ええと、MSB から取り出してなんちゃら、というソレを検討せねば、なのですが。
具体的には
どうしてるんでしょ。
- 先に shift しちゃう説
- 取り出した後に shift しちゃう説
これ、よくよく考えるに上と下では shift 演算な回数は一緒なので、なのか。や、違うぞ。どうやって shift するのか、って問題がある (ぇ
しかも取り出す時の演算はどっちも、だったぜ。
ケイスとして
- 任意の位置のビットを取り出して右に寄せて加算
- 演算結果を LSB に追加して全体を左に shift
- これは簡単にイメージできますね
- 任意の位置のビットを取り出して MSB (?) に追加
取り出し方としては shift して 0x1 と & って事で良いのか。なんとなく難しく考えすぎてた気してきているのですが、大丈夫なのかなぁ。
ケイスとして
って書いてますが、これって一般的な処理パターンな気がしてきている件。
そういった意味では処理対象な bit は取り出したら
- LSB に寄せて
- 基本的には 0x1 と & で云々な演算
- 普通は LSB に追加なはずなので右 shift して | すれば良いのか
- MSB に云々な場合は寄せて寄せて | すれば良いのかどうか
ええと、何をあんなに悩んでいたのかがワケワカ状態。パニック状態ってのはアレですねorz