プロが教えるわが家の防犯対策術!

10進法72.625を2進法に変換する問題なのですが、答えは1001000.101になるそうです。なぜそうなるのですか?

わかる方 計算の仕方を詳しく教えて頂きたいですm(_ _)m

A 回答 (1件)

2進数にするには、どんどん2で割って行って、その「余り」を見ればよいです。



整数部分:
72 ÷ 2 = 36 ・・・0
36 ÷ 2 = 18 ・・・0
18 ÷ 2 = 9 ・・・0
9 ÷ 2 = 4 ・・・1
4 ÷ 2 = 2 ・・・0
2 ÷ 2 = 1 ・・・0
1 ÷ 2 = 0 ・・・1

これが何を表わすかといえば、余りを下から並べて行けば

 72 = ((((((0 × 2 + 1) × 2 + 0) × 2 + 0) × 2 + 1) × 2 + 0) × 2 + 0) × 2 + 0
  = 1 × 2^6 + 0 × 2^5 + 0 × 2^4 + 1 × 2^3 + 0 × 2^2 + 0 × 2^1 + 0 × 2^0
  = 100 1000 [2]  ←[2] は「2進数」の意味

ということです。

そもそも、「n 進数の abcd.efg」とは
 a × n^3 + b × n^2 + c × n^1 + d × n^0 + e × n^(-1) + f × n^(-2) + g × n^(-3)
ということですから。

なので、同様に「小数部」は、「2をかけて整数部に繰り上がるか」を調べて

0.625 × 2 = 1.25 → 繰り上がり「1」、残り 0.25
0.25 × 2 = 0.5 → 繰り上がり「0」、残り 0.5
0.5 × 2 = 1.0 → 繰り上がり「1」、残り 0

これは

0.625 = (0 ÷ 2 + 1) ÷ 2 + 0) ÷ 2 + 1) ÷ 2
   = 1 × (1/2) + 0 × (1/2)^2 + 1 × (1/2)^3
   = 0.101 [2]

ということ。

あわせて

72.625 [10] = 100 1000.101 [2]


検算すれば
 100 1000.101 [2]
= 1 × 2^6 + 0 × 2^5 + 0 × 2^4 + 1 × 2^3 + 0 × 2^2 + 0 × 2^1 + 0 × 2^0 + 1 × 2^(-1) + 0 × 2^(-2) + 1 × 2^(-3)
= 64 + 8 + 0.5 + 0.125
= 72.625 [10]

合ってますね。
    • good
    • 0
この回答へのお礼

丁寧に教えてくださりありがとうございますm(_ _)m
助かりました!

お礼日時:2022/09/14 06:34

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