技術士の過去問
平成30年度(2018年)
基礎科目「情報・論理に関するもの」 問9

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

技術士 第一次試験 平成30年度(2018年) 基礎科目「情報・論理に関するもの」 問9 (訂正依頼・報告はこちら)

補数表現に関する次の記述の、(   )に入る補数の組合せとして、最も適切なものはどれか。

一般に、k桁のn進数Xについて、Xのnの補数はnk−X、Xのn−1の補数は(nk−1)−Xをそれぞれn進数で表現したものとして定義する。よって、3桁の10進数で表現した956の(n=)10の補数は、103から956を引いた103−956=1000−956=44である。さらに956の(n−1=10−1=)9の補数は、103−1から956を引いた(103−1)−956=1000−1−956=43である。同様に、5桁の2進数(01011)2の(n=)2の補数は、[ ア ]、(n−1=2−1=)1の補数は[ イ ]である。

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説 (3件)

01

補数表現に関する問題です。
なお、2進数の引き算は少し複雑なので、注意が必要です。

[ア]
k桁のn進数Xについて、Xのnの補数はn^k−Xとあります。
5桁の2進数(01011)₂の(n=)2の補数は、
2⁵ - (01011)₂ となります。
2⁵は2進数で表すと(100000)₂となりますので、
(100000)₂ - (01011)₂ = (10101)₂


[イ]
k桁のn進数Xについて、Xのn−1の補数は(n^k−1)−Xとあります。
5桁の2進数(01011)₂の(n−1=2−1=)1の補数は、
(2⁵ -1)- (01011)₂ となります。
(2⁵ -1)は2進数で表すと、(11111)₂となりますので、
(11111)₂ - (01011)₂ = (10100)₂

[ア] (10101)₂ [イ] (10100)₂ なので3が正解です。


<補足>
結果を見ると分かるように、1の補数は元の数字の1と0を入れ替えたものになります。
(01011)₂ の1の補数: (10100)₂
さらに、2の補数は、1の補数に1を足したものになります。
このように解くと、複雑な計算を解かずに簡単に解くことも可能です。

参考になった数27

02

補数表現に関する問題です。

[ア]

問題文より、k桁のn進数Xについて、Xのnの補数はnk−Xとされています。

これより、5桁の2進数(01011)₂の(n=)2の補数は、

25 - (01011)2 となります。

25 は、2進数で表すと(10000)となりますので、

(10000)₂ - (01011)₂ = (10101)₂

となります。

[イ]

問題文より、k桁のn進数Xについて、Xのn−1の補数は(nk−1)−Xとされています。

これより、5桁の2進数(01011)2の(n−1=2−1=)1の補数は、

(25 - 1) - (01011)2 となります。

(25 - 1)は2進数で表すと、(11111)2となりますので、

(11111)2 - (01011)2 = (10100)2

となります。

以上のことから、

[ア] (10101)₂ [イ] (10100)₂ となるため、3が正解となります。

参考になった数6

03

補数表現に関する問題です。

[ア]

k桁のn進数Xについて、Xのnの補数はn^k−Xとあります。

5桁の2進数(01011)₂の(n=)2の補数は、

2⁵ - (01011)₂ となります。

(01011)₂ を2進数に変換すると11となります。

よって、2⁵ - 11 = 21

21を2進数に変換すると(10101)₂となります。

[イ]

k桁のn進数Xについて、Xのn−1の補数は(n^k−1)−Xとあります。

5桁の2進数(01011)₂の(n−1=2−1=)1の補数は、

(2⁵ -1)- (01011)₂ となります。

よって、(2⁵-1) - 11 = 20

20を2進数に変換すると(10100)₂となります。

[ア] (10101)₂ [イ] (10100)₂ なので正解は3です。

参考になった数5