これがなかなか手ごわい。筆者が普段、数として扱っているのは10進数や16進数がほとんどである。2進数も出てくることはあるが、これは数というよりbit列としてである。いう規約を読んで「そんなもの使わないってば」と思ったのは15年ほど前のことである。実際、普段はCで8進数を使うのはESC文字が「\033」など、ごく限られた慣用表現のみである。C言語にとって後者がネイティブであったことを反映しているのであろう。要するに数字をみてぱっと量としてとらえられるかどうか、である。感覚としてとらえられるとよいのだが、これも案外難しい。16進数や10進数に慣れきった頭はそう簡単には切り替わらない。16進数に直してしまえ8進数が面倒なら16進数に書き換えてしまえばいいではないか、と思うのは当然の発想である。PDP-11ではあまりうまくない。いうぐあいにPDP-11は世界が8進数なのである。なってしまってもとの美しさが失われてしまう。機械語命令のコードも同様である。8進数ならきれいに書けるのだが16進数だとわかりにくい。実は、PDP-11のデザインに影響を受けているモトローラの68000シリーズでも同様である。Ritchieともども苦労したそうである。先達も歩んだ道だ、と思うと多少は心もなごもうというものである。結論というわけで、「はず」と思って結果を求めてもなかなかうまくいかない。そもそも人生とはそういったものである。人間、新しい概念に慣れるまで時間がかかるのは当然のことである。頭の中で熟成するのを待つべし。