8ビットのデータ X 及び Y の値をそれぞれ 16 進数表現で 0F,F0 とするとき,8 ビットのデータ A の下位 4 ビットを反転させ,上位 4 ビットを 0 にする論理式はどれか。ここで,X・Y は論理積を表し,Z は否定を表す。
この問の正解率:55.82%(335件)
問題本文
8ビットのデータ X 及び Y の値をそれぞれ 16 進数表現で 0F,F0 とするとき,8 ビットのデータ A の下位 4 ビットを反転させ,上位 4 ビットを 0 にする論理式はどれか。ここで,X・Y は論理積を表し, は否定を表す。
選択肢
ア.・X
イ.
ウ.
エ.・Y
正解
ウ.
解説
ビット演算の性質(AND・OR・NOT・XOR)とマスク処理を問う問題。X=0F=00001111、Y=F0=11110000であり、目的は「下位4ビットを反転」かつ「上位4ビットを0にする」こと。ウの を計算すると、まず A・X(A AND 00001111)で上位4ビットが0・下位4ビットがAのまま残り、その全体を否定すると、もともと0だった上位4ビットは1に、Aだった下位4ビットは反転する。下位は反転されるので要件を満たすが、上位が1になってしまうのではないかと迷うところ、選択肢の中で「下位を反転」を実現できるのはこの形であり、正解はウとなる。