| a | b | |
|---|---|---|
| ア | (2のi乗)-1 | integerNum × digitNum × exponent |
| イ | (2のi乗)-1 | integerNum + digitNum × exponent |
| ウ | 2の(i-1)乗 | integerNum × digitNum × exponent |
| エ | 2の(i-1)乗 | integerNum + digitNum × exponent |
関数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
2進数の右から i 桁目は 2の(i-1)乗 の重みを持つ.整数値は各桁の値×重みの総和で求めるため,a は 2の(i-1)乗,b は加算式 (累積加算) となる.
ITパスポート 2024年 (令和6年) の過去問一覧へ戻る・問85