2進小数(11.11)を10進小数で表す

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ザラメさん  
(No.1)
2進小数(11.11)を10進小数で表すと何故3.75になるのでしょうか?2の2乗×1+2の1乗×1+2の-1乗×1+2の-2乗=4+2+2分の1+4分の1=6+0.5+0.25=6.75になりませんか?馬鹿ですみません、分かりやすく解説願います...
2024.02.17 10:42
chihiroさん 
FE プラチナマイスター
(No.2)
>2の2乗×1+2の1乗×1+2の-1乗×1+2の-2乗
2の"1"乗×1+2の"0"乗×1+2の-1乗×1+2の-2乗  です。
2024.02.17 10:50
ザラメさん  
(No.3)
累乗がずれていたんですね、ありがとうございます。111.11なら2の2乗で始まるということですね。
それともう一つついでにお聞きしたいのですが、令和3年免除問9  再帰的定義の問題なのですが
proc(n)
  n=0 ならば戻る
  そうでなければ
  {
    nを印字する
    proc(n-1)を呼び出す
    nを印字する
  }
  を実行して戻る
で0を呼びだすとproc(0)に成ると思うんですけど、その次は何故proc(1)からになるのでしょうか?n-1なら543210まできて12345...と増えるのは何故なのか分かりません、無知で申し訳ないです...
2024.02.17 11:27
y4 kさん 
(No.4)
ザラメさん
再帰で検索かけて御確認ください。
№3の投稿で、n=5から開始したとします。
(01) proc(5) を開始
(02)   proc(4) を開始               ※proc(5)内で呼び出し
(03)     proc(3) を開始             ※proc(4) 内で呼び出し
(04)       proc(2) を開始           ※proc(3) 内で呼び出し
(05)         proc(1) を開始         ※proc(2)内で呼び出し
(06)           proc(0) を開始・終了  ※proc(1)内で呼び出し
(07)         proc(1) を終了
(08)      proc(2) を終了
(09)    proc(3) を終了
(10)  proc(4)を終了
(11) proc(5)を終了
このような動きを辿ります。
各proc(n)内でproc(n-1)を実行した後にnを表示するので12345と表示されるのです。
2024.02.17 13:45
jjon-comさん 
FE ゴールドマイスター
(No.5)
⑤-1 5を印字して
⑤-2 proc(4)を呼び出して(その後,この位置に戻ってきて)
⑤-3 5を印字する

ので
「⑤-1 5を印字」と「「⑤-3 5を印字」はペアで登場します。

その後,次のようになります。
⑤-1 5を印字
  ④-1 4を印字して
  ④-2 proc(3)を呼び出して(その後,この位置に戻ってきて)
  ④-3 4を印字する
⑤-3 5を印字

以降,省略します。
2024.02.17 13:56
ちょーさん 
(No.6)
別解です。
nの小さい順に見ていくと、proc(n)の印字内容が掴みやすくなるかもしれません。

■proc(0)の印字
→印字:なし

■proc(1)の印字
・1を印字
・proc(0)を呼び出し(印字:なし)
・1を印字
→印字:1 1

■proc(2)の印字
・2を印字
・proc(1)を呼び出し(印字:1 1)
・2を印字
→印字:2 1 1 2

■proc(3)の印字
・3を印字
・proc(2)を呼び出し(印字:2 1 1 2)
・3を印字
→印字:3 2 1 1 2 3

■proc(4)の印字
・4を印字
・proc(3)を呼び出し(印字:3 2 1 1 2 3)
・4を印字
→印字:4 3 2 1 1 2 3 4

■proc(5)の印字
・5を印字
・proc(4)を呼び出し(印字:4 3 2 1 1 2 3 4)
・5を印字
→印字:5 4 3 2 1 1 2 3 4 5

長文失礼いたしました。
2024.02.17 15:23
ザラメさん  
(No.7)
なんとなくですが、お二方の仰る意味が分かってきました。ご丁寧にありがとうございました。
2024.02.18 10:10

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop