orz

バックアップ DVD の片隅から、去年書いた DOS/V 用グラフィックライブラリが出てきた。てっきりバックアップしないまま消したとばかり思い込んでいたので、去年講義を聞いてるふりして書いていたそのソースを読んでみると、バイト単位で左から n ビット目*1を立てるためにこんなコードを書いていた。

mask = 1 << (7 - n);

……Σ('A`) いやそれはたしかに素直だけどドットを描く関数の中なんだからもうちょっとましな書き方しろって。

mask = 0x80 >> n;

なんでこれが思いつかなかったんだろう。もっとも、そもそもこの処理が必要かどうかすら怪しいのだが。

*1:zero origin で、0 \le n \le 7 ね。