アプリ版:「スタンプのみでお礼する」機能のリリースについて

仮数分の計算がわかりません。0.625が何故(0.101)2になり10100000....になるのか、どなたか計算方法わかりますか?

「仮数分の計算がわかりません。0.625が」の質問画像

A 回答 (3件)

「n 進数の abcde.fgh」とは



 a × n^4 + b × n^3 + c × n^2 + d × n^1 + e × n^0 + f × n^(-1) + g × n^(-2) + h × n^(-3)     ①

ということです。
「2進数」なら n=2 です。

2進数の「0.101[2]」とは
 1 × 2^(-1) + 0 × 2^(-2) + 1 × 2^(-3)
= (1/2) + (1/8)
= 5/8
= 0.625[10]
ということです。

これを逆に、「0.625[10] を2進数に変換」するには

 0.625 × 2 = 1.25 = 1 あまり 0.25     ②
→ 0.25 × 2 = 0.5 = 0 あまり 0.5
→ 0.5 × 2 = 1 あまり 0

で割り切れるので
 0.625[10] = 0.101(0000・・・)[2]
となります。
後ろの「0000・・・・」は「2で割り切れた」ことを意味します。

割り切れない、例えば 0.6[10] であれば
 0.6 × 2 = 1.2 = 1 あまり 0.2      ③
 0.2 × 2 = 0.4 = 0 あまり 0.4
 0.4 × 2 = 0.8 = 0 あまり 0.8
 0.8 × 2 = 1.6 = 1 あまり 0.6
 0.6 × 2 = 1.2 = 1 あまり 0.2 ←これで第1行以下が繰り返されることが分かる
 ・・・
より
 0.6[10] = 0.1001 1001 1001 ・・・[2]
となることが分かります。

「分かる、分からない」ではなくて、実際に検算していれば「そうなることが分かる」と思います。

②や③でやっていることは、①式の「f, g, h が『0 か 1 か』を探している」ということです。
「2をかける」ということは、「2進数で1つ桁上がりさせる」ということですから。

こんなところを参考に。

https://mathwords.net/syosuu2sin

①の一般の「n 進数」では、小数以上の部分については「nで割る」、小数部分については「nをかける」ことで求めていきます。
    • good
    • 0
この回答へのお礼

詳しく、かつ分かりやすく教えて下さり、ありがとうございます!参考URLも有り難いです。

お礼日時:2022/07/12 20:35

0.625×2=1.25 →1


1.25-1=0.25
0.25×2=0.5 →0
0.5-0=0.5
0.5×2=1.0 →1
1.0-1=0

答 0.101
    • good
    • 1
この回答へのお礼

シンプルでわかりやすかったです!!
ありがとうございます!!

お礼日時:2022/07/12 12:10

10100000....の左に小数点があるわけ。


書く時には0.を省略する決まり。

なので、
0.10100000となり、各桁の重みは、小数点の右から順に
1/2, 1/2², 1/2³・・・・

0.1010000は
1×1/2 + 0×1/2² + 1×1/2³ + 0×1/2⁴・・・
=1/2 + 1/8
=5/8
=0.625

ーーーーーーーーーーーーーーーーーー
0.625を2進で表す方法

0.625×2=1.25 ⇒ 1をメモ(小数点の左) 、小数点以下をメモって次の計算

0.25×2=0.5 ⇒ 0をメモ(小数点の左)、小数点以下をメモって次の計算

0.5×2=1.0 ⇒ 1をメモ(小数点の左)、小数点以下をメモって次の計算

0×2=0 ⇒ ここから先は全て0

0.の後に、ウケのメモを並べる 0.1010000000・・・
    • good
    • 1
この回答へのお礼

詳しくありがとうございます!!

お礼日時:2022/07/12 12:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!