平成20年 春期 基本情報技術者 午前 問3
負数を2の補数で表すとき、すべてのビットが1であるnビットの2進数“1111…11”が表す数値又はその数式はどれか。
ア −(2n−1−1) イ −1 ウ 0 エ 2n−1
【キーワード】
・補数
・2の補数
【キーワードの解説】
- 補数
ある数について、その数と加算することで、ある数のけた上がりが発生する最少の数のことです。
10進数で123の補数を考えると、123は3桁なので、123に加算することで最も小さい4桁の数字(1000)になる数が補数になります。これを求めるとは877にり、123+877=1000で3桁だった123に補数877を加算することで4桁の1000になります。 - 2の補数
2進数での補数の一つで負数(マイナス)を表す方法で、ある自然数とその自然数2の補数を加算すると歩数の性質(元の数より1けた大きい最少の数字になる)があります。
求め方は2進数の各ビットの0、1を反転して1を加えます。
1010 0111の2の補数はビット反転した0101 1000に1を加えた0101 1001になります。
(1010 0111 + 0101 1001 = 1 0000 0000)
スポンサードリンク
2の補数の問題です。
コンピュータの構造を簡単にするための方法の一つとして、複数の処理を同じ形で行えるようにすることが考えられます。
2の補数はこの考え方の一つで、引き算を行うときは、2の補数を求めて加算するという処理にすることで、加算と減算という似ているけど違う処理ではなく、加算と補数演算の2つの全く異なる処理になります。
加算と補数演算も処理の数としては変わりませんが、補数演算は減算以外の他の利用方法もあるので、用途が限られる減算ではなく2の補数を処理として用意します。
2の補数に関する問題の出題頻度はとても高いので、2の補数の考え方と求め方についてはしっかりと勉強しましょう。
新しい午後のサンプル問題を解いてみましたが、内容がずいぶん変わっていますね、できれば今年の秋の試験で合格したいですね。(通信教育を利用するのもいいかもしれません。)

