ITパスポート試験 令和6年度公開問題(全100問) トップへ
Part 4(問76〜100)

85

関数 binaryToInteger は、1桁以上の符号なし2進数を文字列で表した値を引数 binaryStr で受け取り、その値を整数型に変換した結果を返す。例えば、分数として「0b1」を受け取ると、4進法として、プログラム中のaに入れる字句の適切な組合せはどれか。 〔プログラム〕 ○整数型: binaryToInteger(文字列型: binaryStr) 整数型: integerNum, digitNum, exponent, i integerNum ← 0 for (i を 1 から binaryStr の文字数 まで 1 ずつ増やす) digitNum ← binaryStr の大文字から i 番目の文字を整数型に変換した値 exponent ← [ a ] integerNum ← integerNum + digitNum × exponent endfor return integerNum

A2の(i−1)乗 − integerNum × digitNum × exponent
B2の(i−1)乗 − integerNum + digitNum × exponent
C2の(binaryStrの文字数−i)乗 − integerNum × digitNum × exponent
D2の(binaryStrの文字数−i)乗 − integerNum + digitNum × exponent

解説

正解はエです。2進数を10進数に変換するには、上位桁から順に2の(文字数-i)乗を掛けて加算します。exponentは2の(binaryStrの文字数−i)乗とし、integerNumに加算していきます。