パスポイ

関数binaryToIntegerは,1桁以上の符号なし2進数を文字列で表した値… ITパスポート 令和6年度 問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番目の文字を整数型に変換した値
                          // 例: 文字"1"であれば整数値1に変換
    exponent ← a
    integerNum ← b
  endfor
  return integerNum
  • アa: (2のi乗) - 1  b: integerNum × digitNum × exponent
  • イa: (2のi乗) - 1  b: integerNum + digitNum × exponent
  • ウa: 2の (i - 1) 乗  b: integerNum × digitNum × exponent
  • エa: 2の (i - 1) 乗  b: integerNum + digitNum × exponent
正解と解説を見る

正解

エ a: 2の (i - 1) 乗  b: integerNum + digitNum × exponent

2進数の各桁は、末尾(最下位)から数えてi番目の桁が2の(i-1)乗の重みを持つため、aには「2の (i-1) 乗」が入ります。また各桁の値(digitNum)にその桁の重み(exponent)を掛けた値を積算していくので、bには掛け算した値を足し込む「integerNum + digitNum × exponent」が入ります。

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

問題文および選択肢は独立行政法人情報処理推進機構(IPA)が公開する試験問題に基づいています。著作権はIPAに帰属します。解説は当サイトが独自に作成したものです。

解くほどポイントが貯まり、称号が上がる

無料登録すると過去問演習のスコアが月間ランキングに記録されます。1回10問・スマホでサクッと。