ここから本文です

小数点付きの10進数の数値を2進数に変換するにはどうすればいいですか?

aki********さん

2007/10/400:35:35

小数点付きの10進数の数値を2進数に変換するにはどうすればいいですか?

10進数の0.0124、0.124、1.24、12.4を2進数に変換するにはどうすれば良いでしょうか?
10進数の12であれば、2進数の1100になることはわかるんですが、
小数点付きの10進数の数値を2進数に変換するにはどうすればいいか分かりません、やり方を教えてください。

閲覧数:
117,906
回答数:
4
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

ele********さん

編集あり2007/10/502:07:46

小数点の上と下で別々に考えれば簡単ですよ。
小数点より上の分については、2で割った余りをどんどん並べていけば良いですし、
小数点より下の分については、2を掛けて1以上になったら1、ならなかったら0をどんどん並べていけば良いです。

例えば12.4について、まず小数点以上の部分(12)を考えると、

12÷2=6 ・・・ 余り0
6÷2=3 ・・・ 余り0
3÷2=1 ・・・ 余り1
1÷2=0 ・・・ 余り1

この余りを並べると1100になります。

次に小数点以下部分(0.4)を考えますが、
0.4×2=0.8 ・・・1未満なので0
0.8×2=1.6 ・・・1以上なので1
0.6×2=1.2 ・・・1以上なので1
0.2×2=0.8 ・・・1未満なので0
0.8×2=1.6 ・・・1以上なので1
 :
 :

これを並べると

0.01101・・・

これに小数点以上の分を合成すると、

1100.01101・・・

となります。
ちなみに小数点以下の計算を見ると、同じものが2回目に出てきた時点で、そのまま無限に繰り返しが続く循環小数で
あることが分かりますね。

質問した人からのコメント

2007/10/10 18:46:34

降参 大変わかりやすく教えて頂き、ありがとうございました。

「10進数から2進数 小数」の検索結果

検索結果をもっと見る

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

tok********さん

2007/10/401:53:08

例えば、1.24を使ってはじめの方をやると、
 1.24 =1+0.24
 0.24×2=0+0.48
 0.48×2=0+0.96
 0.96×2=1+0.92
 0.92×2=1+0.84
 0.84×2=1+0.68
 0.68×2=1+0.36
 0.36×2=0+0.72
 0.72×2=1+0.44
 0.44×2=0+0.88
 ・・・
となり、右辺第1項を上から順に並べたのが2進表現です。
つまり、1.24(10)=1.[00111101011100001010](2)になります。[・]は以下循環する部分です。

tri********さん

2007/10/400:47:26

実は、小数を2進数表記する方法にはいくつか規格があります。

というのも、ご質問のように1.24×10のn乗というような表現を用いる場合(浮動小数点方式)もあれば、1/2の桁、1/4の桁、1/8の桁、・・・と小数点以下も2の-n乗で表現していく方式もあるからです。

これらの方式があるため、問題として出される場合には、その表現方式がかならず問題文に明記されます。

http://www.google.co.jp/search?num=100&hl=ja&q=%E5%B0%8F%E6%95%B0+%...

ugo********さん

2007/10/400:40:02

http://www.melma.com/backnumber_189_2017681/

↑では答えになりませんかね??

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる