SMITサービスマネージャ試験 午前Ⅰ

平成21年度秋期 ITサービスマネージャ 午前Ⅰ 問1

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

2進数の表現で,2の補数を使用する理由はどれか。

選択肢

  1. ア
    値が1のビット数を数えることで,ビット誤りを検出できる。
  2. イ
    減算を,負数の作成と加算処理で行うことができる。
  3. ウ
    除算を,減算の組合せで行うことができる。
  4. エ
    ビットの反転だけで,負数を求めることができる。
解き方のヒントを見る

数値表現方式を考える一つの視点

数値表現方式を検討するときは、値をどのような情報として扱い、どの範囲や場面で安定して表せる必要があるのかを、目的や利用上の要請との関係から落ち着いて整理してみましょう。

この問題で問われていること

選択肢を読む前に、方式そのものの名称や印象ではなく、表現方法を定める目的が何か、利用場面で何を扱いやすくするためかという観点に絞り、説明の中心を確認しましょう。

視点

まず、表現方式が解決しようとする課題を抽象化し、扱う値の種類、必要な範囲、読み取りやすさ、処理上の都合などを目的と分けて整理します。

確認ポイント

  • 方式が主に解決しようとしている課題は何か
  • 扱う情報の範囲や性質をどのように捉えるか
  • 目的と手段を混同せずに説明できるか
正解と解説を見る

正解

イ

解説

2の補数は、負数を表現できるだけでなく、減算を減数の2の補数の加算として扱えるため、加算器を中心に演算回路を構成しやすい。したがって、使用理由として適切なのはイです。

理由

2の補数表現では、ある数の負数をその数のビットを反転して1を加えた値として表す。この性質を使うと、減算は減数の2の補数を被減数に加える処理として実行できるため、減算専用の仕組みを別に用意せず、加算器を利用して処理できる。

比較

アはビット誤り検出の説明であり、2の補数を使う主な理由ではありません。ウの除算を減算の組合せで行う方法は、数値表現方式に固有の性質ではありません。エはビット反転だけで負数を作る説明で、2の補数では反転後に1を加える必要がある。

選択肢ア

これは不正解だよ。値が1のビット数を数えるだけでは、どのビットが誤ったかや、1の数が変わらない複数ビット誤りを一般に検出できない。誤り検出には、通常はパリティビットなどの冗長情報を付加して規則に反した状態を調べる仕組みが必要であり、2の補数を使う理由とは異なる。

選択肢イ(正解)

これは正解だよ。2の補数では、減数を2の補数に変換して被減数へ加えることで、減算を加算として処理できる。例えば固定長の二進数では、負数をビット反転後に1を加えて表せるため、加算器を利用して正負の算術演算を統一的に実装しやすい。

選択肢ウ

これは不正解だよ。除算を繰り返しの減算として実現する考え方は、アルゴリズム上の処理方法であり、2の補数を使用する固有の理由ではない。2の補数の重要な利点は、負数を表現したうえで減算を加算へ置き換えられる点にあり、除算の実現方法を直接説明していない。

選択肢エ

これは不正解だよ。2の補数で負数を求めるには、対象のビットを反転するだけでなく、反転した結果に1を加える必要がある。ビット反転だけで負数を表すのは1の補数の考え方に当たり、2の補数を使用する理由としては不適切である。

学習のポイント

補数表現による負数の扱いと、算術演算を共通化する仕組みを理解する。

出典:独立行政法人 情報処理推進機構(IPA)平成21年度秋期 ITサービスマネージャ試験 午前Ⅰ 問1(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針