基礎理論

基本情報技術者試験あるビット列の特定ビットだけを反転(0は1へ、1は0へ)し、他のビットは変えずに保ちたい。マスクとの間で行うべき…

テクノロジ系基礎理論難易度:normal
あるビット列の特定ビットだけを反転(0は1へ、1は0へ)し、他のビットは変えずに保ちたい。マスクとの間で行うべきビット演算はどれか。
反転したいビットを1にしたマスクとの排他的論理和(XOR)をとる
反転したいビットを1にしたマスクとの論理和(OR)をとる
反転したいビットを0にしたマスクとの論理積(AND)をとる
全ビットを反転する否定(NOT)を施す
正解
ア.反転したいビットを1にしたマスクとの排他的論理和(XOR)をとる

XORは『同じなら0、異なれば1』。マスクが1の位置では元値が反転し、0の位置では元値が保たれる。反転したいビットを1にしたマスクとのXORで目的のトグルが実現でき正しい。

?選択肢ごとの解説

ア ○XORは『同じなら0、異なれば1』。マスクが1の位置では元値が反転し、0の位置では元値が保たれる。反転したいビットを1にしたマスクとのXORで目的のトグルが実現でき正しい。
イ ×OR(論理和)はマスクが1の位置を必ず1に固定するだけで、元が1だったビットを0へ反転できない。
ウ ×マスクが0の位置とのANDはそのビットを0にクリアする操作で、反転ではなく消去になってしまう。
エ ×NOTは全ビットを一律反転するため、変えたくない他のビットまで反転させてしまい条件を満たさない。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0081

【基本情報技術者試験】あるビット列の特定ビットだけを反転(0は1へ、1は0へ)し、…|正解「反転したいビットを1にしたマ…」|ukamiru 過去問