排他的論理和(^)は、ビットの値が同じ場合は0、異なる場合は1を返す。
x ^ 1 = ~x, x ^ 0 = x なので、見方を変えると、0ならば反転、0ならば元の値のままとなる。
従って、特定のビットを反転したい場合は、そのビットを立てたマスクと排他的論理和(^)演算を行うといいぞ。
例えば、変数xの下位4ビットを反転したい場合は、以下の様に記述する。
x ^= 0x0f;
Go to list of users who liked
More than 5 years have passed since last update.
排他的論理和(^)は、ビットの値が同じ場合は0、異なる場合は1を返す。
x ^ 1 = ~x, x ^ 0 = x なので、見方を変えると、0ならば反転、0ならば元の値のままとなる。
従って、特定のビットを反転したい場合は、そのビットを立てたマスクと排他的論理和(^)演算を行うといいぞ。
例えば、変数xの下位4ビットを反転したい場合は、以下の様に記述する。
x ^= 0x0f;
Register as a new user and use Qiita more conveniently
Go to list of users who liked