- 締切済み
10進数3.14を16進数にした時の解放について
タイトルの通り10進数3.14を16進数にした時の解放について詳しく教えていただけないでしょうか? 違う質問するところで見て興味がでたのですが、回答内容が理解できず…決して回答内容が悪いというわけではありません。私の方が知恵不足で^^; 誰か知っている方がいれば教えていただければ嬉しいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fjnobu
- ベストアンサー率21% (491/2332)
まず、少数点から上は3 0.14の部分は、16倍して整数部のみ取り出して、残った小数点以下を16倍することを繰り返して小数点以下が無くなれば終了。 3.23D70A とどんどん続きます。
- rnakamra
- ベストアンサー率59% (761/1282)
まず、10進数の3.14とはどのような数字なのだろうか? 小数部分0.14だけを考えると 0.14×10=1.4 ←この整数部分"1"が"0.14"の小数第1位 さらに1.4の小数部分0.4を10倍すると 0.4×10=4 ←この整数部分"4"が"0.14"の小数第2位 となります。小数部分が"0"になったのでここで打ち切り。残りは全て"0" この考え方は16進数でも同じ。10倍するところを16倍にする。出てきた数字を16進数にすればよい。 3.14の小数部分0.14を16倍すると16進数での小数第1位が得られる。 0.14×16=2.24 小数第1位は"2" 2.24の小数部分0.24を16倍すると 0.24×16=3.84 小数第2位は"3" 3.84の小数部分0.84を16倍すると 0.84×16=13.44 小数第3位は"d" 13.44の小数部分0.44を16倍すると 0.44×16=7.04 小数第4位は"7" と続いて行きます。 ここまでやればわかるとは思いますが、この計算はいつまでやっても終わりません。つまり無限小数になります。 実際にはこのあと"0","a"となりこのあとは3d70aを繰り返します。 10進数の3.14を16進数にすると3.23d70a3d70a3d70a...となります。 (計算が間違っている可能性があるので出来れば自分で確認してください。)