B01  2進数



努力目標

  理解する




技術士試験の問題からは必要最小限の引用にとどめる。(問題)が記されている部分はその引用である。

問題および解答は日本技術士会のホームページより必要に応じて入手してください。

  技術士第一次試験の問題    



問題番号が赤字のものは、ボーナス問題

H27年 1−2−3   H25年 1−2−1   H25年 1−2−5

H23年 1−2−1   H22年 1−2−1   H21年 1−2−3

H21年 1−2−4   H20年 1−2−2   H19年 1−2−1

H19年 1−2−5


同じ問題は、

H27年 1−2−3    H19年 1−2−5

H25年 1−2−1   H21年 1−2−4   H19年 1−2−1

H25年 1−2−5   H21年 1−2−3   H20年 1−2−2   



2進数は位が一つ上がるごとに数値の大きさが倍になる。逆に位が一つ下がるごとに数値の大きさは1/2となる。2進数は0と1で表記され、10進数との関係は次表のようになる。

2進数 10進数
1000 23 8
100 22 4
10 21 2
1 20 1
0.1 2−1 0.5
0.01 2−2 0.25
0.001 2−3 0.125

たとえば、2進数で1010は10進数では8+2=10、2進数で0.101は10進数では0.5+0.125=0.625となる。N進数では、2進数の2の部分をNとすればよい。

計算による10進数とN進数の変換は次のようにする。たとえば、8進数の111があれば、これを10進数とするには、

    1118=1×82+1×81+1×80=64+8+1=73

逆に、10進数の73を8進数とするためには下図左側の計算をして、余りを下から読めば、8進数では111(82+81+80=64+8+1=73))となる。

10進数の0.7を8進数に変換するには下図右側の計算をして、得られた整数部分の数字を上から読んでいくと、0.5468となる。


2進数と10進数の関係を表に示した。

今求めた8進数の0.546は10進数では、

   5×0.125+4×0.015625+6×0.0019531=0.699219≒0.7

となる。

8進数 10進数
1000 83 512
100 82 64
10 81 8
1 80 1
0.1 8−1 0.125
0.01 8−2 0.0152625
0.001 8−3 0.0019531



H25年 1−2−5

正答: �A 

(解答)

上に示した方法で、10進数の0.85を2進数に直すと、その下4桁までは0.1101となる。

(ア)を0.5倍するということは、2で割るということなので、(ア)が1桁さがり、0.01101となる。
(イ)を10進数に変換するということは、元の10進数で0.85/2であるので、0.425となりそうであるが、そうはならない。

確認 2進数の0.01は10進数の0.25、同じく0.001は0.125、これを合計すると2進数の0.0110は10進数の0.375。ところが2進数の0.1101は0.5+0.25+0.0625≒0.81となり、元の10進数数字0.85よりも小さくなっている。2進数計算は0.1101・・・・とまだまだ続くところを、下4桁までの計算で止めたので、切り捨てによる誤差を含んだことになる。



H27年 �T−2−3

正答: �B

(解答)

10進数の1/10を表す2進数を上の方法に従ってもとめると、0.00011・・・となる。



H23年 �T−2−1 

正答: �C 

(解答)

解答が4つの部分に分かれていることからもわかるように、1バイトは8ビットである。従って、

   11000000/10101000/00011111/10101100

この2進数を10進数に変換すると、

   192/168/31/172



H22年 1−2−1 

正答: �@ 

(解答)

n進数で成立している計算式「132−54=34」が何進数の計算であるかの確認をする。たとえば、これが10進数の計算とすると、「78=34」となり、10進数表記ではないことがわかる。n進数のnを種々変化させて等式が成り立つかの確認をすることになる。

答えは6進数で、右辺左辺共に10進数の数字に換算して比較すると、左辺は1×62+3×6+2−5×6−4=22、右辺は3×6+4=22、と等しくなる。



H21年 �T−2−4

正答: �C

(解答)

基本から考える。

1ビット (0、1)の2通り
2ビット (00、01、10、11)の4通り
3ビット (000、001、010、100、101、110、111)の8通り

2nビット通りである。
25=32でアルファベットが表現でき、28=256で0から255まで256個の整数が表現でき、
211=2048で1945文字の漢字が表現できる。



H19年 �Tー2−5

正答: �B 

(解答)

10進数の1/7は0.1428571。これを上の方法で2進数に変換すると、0.001001・・・・となる。



H25年 �T−2−1

正答: �C 

(解答)

   28/24=24=16



H19年 �T−2−1

正答: �D

(解答)

   210/25=32




                問題一覧表へ戻る