2進数を10進数に変換
解説
ポイント
流れ図のとおりに「s を2倍して次の桁を足す」をくり返し,s の移り変わりを追う問題です。
考え方と解き方
最初に s にいちばん左の桁を入れ,そのあと左から順に「s←2×s+その桁」をくり返します(ホーナー法)。
- (11001011)2 の桁を左から並べると 1,1,0,0,1,0,1,1
- s=1 → 2×1+1=3 → 2×3+0=6(ここまでは問題文のとおり)
ア:2×6+0=12
イ:2×12+1=25
ウ:2×25+0=50
エ:2×50+1=101
- 最後に 2×101+1=203 となり,問題文の終わりの値と合います。答えは ア 12,イ 25,ウ 50,エ 101
覚えておくこと
- 2進数を10進数に直す流れ図:左の桁から「2倍して足す」をくり返す
- 各ステップの s は「左から読んだ所までの2進数の値」(12=(1100)2)
- 最後の値(203)で検算できる
出典:令和4年度 技術士第一次試験 基礎科目 I-2-5(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム