C 言語におけるビット演算の基本テクニックを自分のためにメモ。 基本技集 以下では、最下位を 0 ビット目と数えます。また、n は unsigned int 型とします。プログラム中、unsigned と型指定したものは、unsigned int 型として処理されます。定数の後ろにある U は、その定数が unsigned int 型であることを表します。 /* Nビット目を取り出す */ (n >> N) & 1 /* Nビット目に1をセットする */ n = n | (1 << N); /* Nビット目に0をセットする */ n = n & ~(1 << N); /* Nビット目を反転 */ n = n ^ (1 << N); /* 0ビット目からN-1ビット目までがすべて1である列の生成 */ n = (1 << N) - 1; /* 全ビットの反転 (1) */ n = ~n /*