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
100
10
0.1 −1 0.5
0.01 −2 0.25
0.001 −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×8+1×8+1×8=64+8+1=73

逆に、10進数の73を8進数とするためには下図左側の計算をして、余りを下から読めば、8進数では111(8+8+8=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 512
100 64
10
0.1 −1 0.125
0.01 −2 0.0152625
0.001 −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×6+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通り

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



H19年 Tー2−5

正答: B 

(解答)

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



H25年 T−2−1

正答: C 

(解答)

   2/2=2=16



H19年 T−2−1

正答: D

(解答)

   210/2=32




                問題一覧表へ戻る