ITパスポート 令和6年度公開問題科目A問85

科目A問85

関数 binaryToInteger は,1桁以上の符号なし2進数を文字列で表した値を引数 binaryStr で受け取り,その値を整数に変換した結果を戻り値とする。例えば,引数として"100"を受け取ると,4を返す。プログラム中のa,bに入れる字句の適切な組合せはどれか。

〔プログラム〕
『情報処理過去問.com』からiPhoneアプリがリリースされました!!

正解

解説

2進数→10進数変換は、「各桁の値 × 2の重み(20, 21, 22…)」を足し合わせることで求めます。
このプログラムは binaryStr の末尾(最下位ビット)から順に見ていくため、末尾から i 番目の桁の重みは 2(i-1) になります。
また、10進数の合計値を作るので、各桁の寄与分(digitNum × exponent)は加算していきます。

a:
末尾から i 番目の桁の重みは 2(i-1) なので、
exponent ← 2 の (i−1) 乗 が入ります。

b:
integerNum は「これまでの合計値」なので、
integerNum ← integerNum + digitNum × exponent が入ります。
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする