私はそれが好きでした:Cで1ビットをどのように設定、クリア、トグルしますか? .
少しクリア
ビットごとの AND 演算子 (
&
) を使用して、ビットをクリアします。数 &= ~(1 << x);
それはビットをクリアします
x
。ビットごとの NOT 演算子 ( ) を使用してビット文字列を反転し、~
AND する必要があります。
符号付き整数型では問題なく動作しますが、符号なし整数 (UInt32 など) では動作しません。コンパイラは、そのような操作を符号なしの型に対して行うことは不可能だと言っています。次に、符号なしの数値を処理して 1 ビットをクリアする方法は?