技術士第一次試験|無料Web版
技術士 基礎科目 令和4年度 Ⅰ-2-5|問題と解説
問題 Ⅰ-2-5
次の記述の、( )に入る値の組合せとして、適切なものはどれか。
nを0又は正の整数、ai ∈{0,1}(i = 0,1,...,n)とする。
図は2進数(an an−1...a1 a0)2を10進数sに変換するアルゴリズムの流れ図である。
このアルゴリズムを用いて2進数(1011)2を10進数sに変換すると、sには初めに1が代入され、その後、順に2,5と更新され、最後に11となり終了する。
このようにsが更新される過程を
1 → 2 → 5 → 11
と表す。
同様に、2進数(11001011)2を10進数に変換すると、sは次のように更新される。
1 → 3 → 6 → ア → イ → ウ → エ → 203
1 ア:12 イ:25 ウ:51 エ:102
2 ア:13 イ:26 ウ:50 エ:102
3 ア:13 イ:26 ウ:52 エ:101
4 ア:13 イ:25 ウ:50 エ:101
5 ア:12 イ:25 ウ:50 エ:101
問題図表

正解と解説
正解:5
解説左から1ビット読むたびに、それまでの値を2倍して次のビットを足す。
1.桁を追加する意味を確認する
2進数で右に1桁増やすと既存の値は2倍になる。先頭1でsを初期化し、次の1と0で 1→3→6になる。
2.残るビットを順に足す
残りは0,1,0,1,1。
2×6+0=12
2×12+1=25
2×25+0=50
2×50+1=101
2×101+1=203
ア=12、イ=25、ウ=50、エ=101。最終値203とも一致する。
問題・正答の出典:公益社団法人 日本技術士会(公式の過去問題・公式正答)
掲載している解説は日本技術士会の公式解説ではありません。