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

このプログラムは、2進数を10進数に変換する処理です。
2進数では、右端から順に
- 1桁目 → 2⁰
- 2桁目 → 2¹
- 3桁目 → 2²
となります。
ループでは、右端から i 番目の桁を処理しているので、指数は:
exponent = 2^(i−1)
になります。
したがって、a は 2 の (i−1) 乗
次に、integerNum は合計を求める変数なので、
現在の値に digitNum × exponent を加えます:
integerNum = integerNum + digitNum × exponent
したがって、b は:
integerNum + digitNum × exponent
まとめ:
- a:2 の (i−1) 乗
- b:integerNum + digitNum × exponent
よって、正解は エ です。

※出典:ITパスポート試験 令和6年度 問85