教えてください

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
フォームさん  
(No.1)
令和6年B問い2について。
Binary=10010
Binaryのi番目の文字を指定するとき、下から数えてではないのでしょうか?
上位の1から数えて、回答が書かれているのですが?
回答がまちがっているのか自分がまちがっているのかわかりません。
おしえてくれないでしょうか???
2024.10.26 14:32
QMさん 
FE ゴールドマイスター
(No.2)
https://www.fe-siken.com/kakomon/06_haru/b2.html

今回の場合、binaryは文字列ですから、前(左)から数える方が自然でしょう。

答の処理内容的にも、繰返しのたびに2倍されていくので、最初の数ほど大きい桁になります。
2024.10.26 14:50
フォームさん  
(No.3)
この問題ややこしいな。ありがとうございます
2024.10.26 15:28
boyonboyonさん 
FE シルバーマイスター
(No.4)
この投稿は投稿者により削除されました。(2024.10.26 15:43)
2024.10.26 15:43
boyonboyonさん 
FE シルバーマイスター
(No.5)
下位から数えると、計算式が面倒になるからではないでしょうか。
例の10010の場合では、

末尾の0を取り出す。int(0)をresultに加える。
次の1を取り出す。int(1)を2倍して、resultに加える。
次の0を取り出す。int(0)を2^2倍して、resultに加える。
次の0を取り出す。int(0)を2^3倍して、resultに加える。
次の1を取り出す。int(1)を2^4倍して、resultに加える。

みたいな流れになります。
設問の□の中に入れるとすると

result+int(binaryの(lenth-i+1)文字目の文字)x{2の(i-1)乗}
になってしまいます。

人間が計算するときは、10010を見てすぐに16+2=18となりますが、PCではそうはならないのでアルゴリズムを考えます。そうしたときに設問に示されたような亜アルゴリズムの方がすっきりすると思います。
2024.10.26 15:44
まーぼさん 
FE シルバーマイスター
(No.6)
数字の文字列なので、そう勘違いしてしまったのだと思います。

“Hello”という文字列の1文字目と言われればHであるのと同じように、
“100100”という文字列の1文字目も1というだけです。
2024.10.26 15:47
フォームさん  
(No.7)
>>boyonboyon
>>まーぼ
ありがとうございます
2024.10.26 17:17

返信投稿用フォーム

※CBT試験では出題内容の公開が禁止されているため、直接的・間接的を問わず、出題内容や難易度を尋ねる質問は厳禁です。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop