正答3
解説
正解は3です。
ビット演算のマスク操作を問う問題です。
排他的論理和(XOR)は、マスクのビットが1の桁を反転し、0の桁はそのまま残します。
論理和(OR)は、マスクのビットが1の桁を必ず1にし、0の桁はそのまま残します。
【選択肢別解説】
1:× 16進数03は2進数00000011です。
これとXORをとると、反転するのは上位6ビットではなく下位2ビットになります。
2:× 03とORをとると、下位2ビットが1に固定されます。
上位6ビットは反転されず、下位2ビットも保持されません。
3:○ 16進数FCは2進数11111100で、上位6ビットが1、下位2ビットが0です。
これとXORをとると、上位6ビットだけが反転し、下位2ビットはそのまま残ります。
4:× FCとORをとると、上位6ビットはすべて1に固定されます。
元が1のビットは1のままなので、反転にはなりません。
【ポイント】
特定ビットの反転はXOR、1にする(セット)のはOR、0にする(クリア)のはANDと使い分けます。
マスクには、操作したい桁に1を置くのがXORとOR、残したい桁に1を置くのがANDです。