ビット演算のプログラム
∧(ビットごとの論理積)は取り出す、∨(論理和)は立てる・合成する、<<・>>(論理シフト)は位置をずらす操作。たとえば x ∧ 00000001 は最下位ビットだけを取り出し、(r << 1) ∨ b は r を 1 桁左へずらして空いた最下位に b を入れる。整数のまま mod 2ⁿ で下位 n ビット、÷ 2ⁿ の商 で右シフトと同じことができる(UTF-8 の符号化など)。
解説(冒頭)
秒数を「時・分・秒」に分けるときも、余りと商を使う。最後の桁(秒)から順に「s ÷ 60 の余り」を求めて配列に入れ、「s ← s ÷ 60 の商」で 1 つ上の桁へ進む。60 は 60 進数の底で、2 進数なら 2、10 進数なら 10、UTF-8 の継続バイトなら 64(6 ビット分)に当たる。底で割った余りがその桁、商が上の桁に回る数という考え方は、基数変換と同じ。
この続き:解説の残り・インタラクティブ教材 2 個・練習問題は、ログインして学べます。