ITパスポートトップに戻る
練習問題難易度: 標準2024年度

ITパスポート 過去問練習問題 第85問

問題

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

選択肢

  1. 1a: (2 の i 乗) − 1、b: integerNum × digitNum × exponent
  2. 2a: (2 の i 乗) − 1、b: integerNum + digitNum × exponent
  3. 3a: 2 の (i − 1) 乗、b: integerNum × digitNum × exponent
  4. 4a: 2 の (i − 1) 乗、b: integerNum + digitNum × exponent

正解

4. a: 2 の (i − 1) 乗、b: integerNum + digitNum × exponent

詳しい解説を見る

解説

2進数を10進数に変換するには、末尾からi番目の桁の値に2の(i-1)乗を掛けて合計する。例えば"100"なら末尾から順に0×2⁰+0×2¹+1×2²=4となる。よってaは2の(i-1)乗、bは累積加算でintegerNum+digitNum×exponentとなり、正解はエ。アとイのaは2のi乗-1なので桁の重みが合わず誤り。ウのbは累積を掛け算しており、初期値0のままとなり誤り。(出典: 令和6年度分 ITパスポート試験 問85)

記憶定着問題

全200問を繰り返し学習

練習問題の関連問題

この調子で演習を続けよう

スキマ資格ではITパスポートの全1200問を分野別・難易度別に体系的に学習できます。ITパスポートはストラテジ系・マネジメント系・テクノロジ系の3分野バランスが合格の鍵です。