ちょっとした小言というか、潔癖症だからこそ気になった点です。同級生のソースコードを眺めていて発見しました。
操作したいビットに1を立てた定数を用いるべき
ひとことで、このようになるでしょうか。ソースコードを見れば一発です。
main(){
char a = 0x87; /* 1000 0111 */
a |= 0x48; /* 0x00 x000 を1にしたい時 */
// a &= 0x78; /* x000 0xxx を0にしたい時はこう書かずに、 */
a &= ~0x87; /* こう書いて欲しい */
}
どのビットを操作する演算なのかを明確にするためにも、後者を使って欲しいものです。