基本情報技術者試験問題に挑戦しよう!(2の補数)

ITの基礎

Amazon.co.jp

基本情報技術者試験とは

基本情報技術者試験は、情報処理推進機構(IPA)が実施し、「情報処理の促進に関する法律」に基づき経済産業省が認定する国家試験である。

ITエンジニアとしてキャリアをスタートする方のIT基礎力を問う試験で、「ITエンジニアの登竜門」とも言われる。

科目Aと科目Bの両科目で合格点を取らなければ、基本情報技術者試験の合格とはならない。

それでは、基本情報技術者試験(科目A)のサンプル問題にチャレンジしてみよう。

サンプル問題 (科目A)問1

負数を2 の補数で表すとき,8 ビットの2 進正数n に対し-n を求める式はどれか。
ここで,+は加算を表し,OR はビットごとの論理和,XOR はビットごとの排他的論理和を表す。
ア (n OR 10000000) + 00000001
イ (n OR 11111110) + 11111111
ウ (n XOR 10000000) + 11111111
エ (n XOR 11111111) + 00000001

正解:エ

それでは、設問を検討してみよう。

2の補数表現

2の補数表現とは、すべてのビットを反転した後にを足して正負を表す方法である。

全ビットを反転するときに使われる論理演算が、排他的論理和(XOR)である。

排他的論理和(XOR)

AとBが異なる場合、「1」、AとBが同じ場合、「0」となる論理演算。

XOR 1 の結果は、元のビットを反転したビットとなる。

8 ビットの2 進正数n に対し-n を求めるには、

① nの全ビットを反転する → n XOR 11111111

② ①の結果に1を加算する。→ +00000001

そこで、

①と②を組み合わせた式「(n XOR 11111111) + 00000001」となる。

(参考)【令和6年度】 いちばんやさしい 基本情報技術者 絶対合格の教科書+出る順問題集

Amazon.co.jp

コメント

タイトルとURLをコピーしました