アルゴリズムとプログラミング

基本情報技術者試験次の擬似言語は 8 ビットの値 x の全ビットを反転(0↔1)した値を返す手続である。XOR…

アルゴリズムとプログラミングアルゴリズムとプログラミング計算問題難易度:normal
次の擬似言語は 8 ビットの値 x の全ビットを反転(0↔1)した値を返す手続である。XOR はビットごとの排他的論理和を表す。x = 89 を与えて実行したとき、戻り値(10 進数)はどれか。
○整数型: invert8(整数型: x)
  整数型: y
  y ← x XOR 255
  return y
65446
89
166
167
正解
ウ.166

255 との XOR は 8 ビットすべてのビットを反転する。89=01011001 を反転すると 10100110=166 となるため ウが正しい。

?選択肢ごとの解説

ア ×8 ビットではなく 16 ビットのマスク 65535 と XOR し 89 XOR 65535=65446 とした、マスク幅を取り違えた誤りである。
イ ×反転を行わず入力 89 をそのまま返した、XOR を恒等変換と誤認した誤りである。
ウ ○255 との XOR は 8 ビットすべてのビットを反転する。89=01011001 を反転すると 10100110=166 となるため ウが正しい。
エ ×反転値 166 の最下位ビットを取り違え 167 とした、1 ビット分の桁の誤りである。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

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

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

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

【基本情報技術者試験】次の擬似言語は 8 ビットの値 x…|正解「166」|ukamiru 過去問