• 締切済み

2、8、10、16進数に変換(小数点)

10進数や2進数や8進数や16進数に変換する場合、 小数点以下を変換できません。 方法はありませんか?

みんなの回答

noname#36302
noname#36302
回答No.3

細かい証明は知りませんが、一応参考に・・・ 例えば、10進数14.375を2進数に直す場合、こんな方法があります。  手順 1.整数部と小数部は分けて計算する。 ここで先に14を直すと 1110となります。    つぎに小数部について考えます。   2.小数部に2をかける。この場合、0.375*2=0.75となります。 ここで、出た値の整数部分が1以上       (2進数の場合は1、基数がn⇒n以上)⇒    その整数部分を取り出して値を小数にしてまた2をかける。    それ以外(整数部分=0) ⇒ 0を取り出して(言い方が変です   が)また2をかける。    今回の場合、後者ですから、 0.75*2=1.5となります。    これが最終的に0になるまで繰り返します。    1.5-1=0.5 0.5*2=1 1-1=0  ここで整数部分が0になったので、   3.取り出した順に並べる。この場合取り出した値は順に、011です から、頭に"0."をつけて答えは0.011となります。   これを筆算で表すと、    0.375 zzzzzz* 2 0 ← 0.750 ↓zzzz* 2 1 ← 1.500 → 0.500 ↓zzzzzzzzzzzzzz* 2 1 ←zzzzzzzzzzz 1.000 → 0.000 = 0 → 0.011(うまく表せなくてスイマセン) 4.整数部と小数部をあわせる。この場合1110と0.011をくっつけて 答えは1110 . 011となります。  今回は、2進数なので2を基数としてやりましたがこれがn進数の場合は、基数をnに変えればどんな数でも変換することができます (整数部分でも同様。但し、基数が10以上の場合は10以上の数を見やすくするため別の文字でくくる場合がある。例えば 10 → A など)。  最後に8,16進数の場合ですがこれらの値は2進数を3桁,4桁ごとに区切った値ですから10進数から2進数に直すことができれば、  i) 8進数の場合   1110 . 011を3桁ごとに区切って(整数部分は←方向に、小数部分は→方向に区切るもしも足りない場合は0を補う)この場合、   1 110 . 011 → 001 110 . 011 となりますからそれぞれ8進数に直して、 16 . 3となりますし、 ii)16進数の場合  でも同様で、   1110 . 011を4桁ごとに区切って   1110 . 011 → 1110 . 0110 となりますからそれぞれ16進数に直して、 E . 6となります。  かなり長くなってしまいましたがどうでしょうか?  

  • kkkk2222
  • ベストアンサー率42% (187/437)
回答No.2

文面から見ますと、変換は貴殿の方が慣れているようで。 10進法 100=10^2 10=10^1 1=10^0 0.1=10^(-1) 0.01=10^(-2) 0.001=10^(-3) ー 2進法 0.1→2^(-1)=0.5 0.01→2^(-2)=0.25 0.001→2^(-3)=0.125 0.0001→2^(-4)=0.0625 0.00001→2^(-5)=0.03125 ー 8進法 0.1→8^(-1)=0.125 0.01→8^(-2)=0.015625 0.001→8^(-3)=0.001953125 ーーー 2進法→10進法 0.111→ 0.5+0.25+0.125=0.875 --- 10進法→2進法 0.1=(1/10)=(1/2^4)+(1/2^5)+(1/2^8)+(1/2^9)+・・・ 0.1→0.0001100110011・・・ 0.2→0.0011001100110・・・ 0.4→0.0110011001100・・・ 0.8→0.1100110011001・・・ 0.3=0.1+0.2などなど 意外に面倒で、この辺までにします。 ーーー

  • fjnobu
  • ベストアンサー率21% (491/2332)
回答No.1

10進数の、少数以下を8進数に変換する場合は、少数以下の数値を8倍します。少数より上を8進数に変換します。 次に残った少数以下を、8倍して8進数に変換する。以上を繰り返して、少数以下が0になるまで繰り返すと求まります。 他の場合も同じです。

関連するQ&A

  • 進数の小数点をどう変換するのか

    現在進数の小数点で詰まってます 2進数⇒10進数へ変換するときは 11.01011⇒ 1*2~1+1*2~0+0*2~-1+1*2~-2+0*2~-3+1*2~-4+1*2~5 2 +1 +0 +0.25 +0.125 +0.625 +0.3125 3+1.3125 4.3125 2進数⇒16進数へ変換するときは 11.01011⇒ B.0 |8+0+2+1| B.0B で良いと思ってます(間違ってたらすいません) ここで本題なんですが、小数点を含んだ進数で 2進数⇒8進数 8進数⇒2進数 10進数⇒2進数 16進数⇒2進数 この[通り]の場合の小数点の出し方を何方かご存知ないですか? 無ければ無い、あればあるで教えて頂けないでしょうか 扱う数字はいくつでも勿論結構です、宜しく御願いします

  • 10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか?

    10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか? 10進数の-7.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか? 計算方法を教えてください。

  • 浮動小数点法での2進数変換

    浮動小数点法を用いての2進数への変換に関して質問です。 10進数の(-0.0001)を浮動小数点表示を用いて2進数に変換しなさいという問題が全くわかりません。 どなたか詳しく解説してください。お願いします。

  • 小数点を含む2進数を10進数に変換する方法

    小数点を含む2進数を10進数に変換するさいに 小数点以下は右にいくにつれ-2、-3と2の上に累乗を付けるというところまでは理解できました。 そして0は計算せず、1の付く部分のみ計算する、そして1は分子で累乗の計算結果が分母であることも理解しました。 さらに分子÷分母で導き出された数を足すという理屈も理解しました。 しかし、分子÷分母の計算結果が理解できません。 1÷2が0.5は分かります。 10÷2とした時の答えが5なので… しかしそこから先の計算結果がなぜそうなるのか理解できません。 上記の簡単な計算方法はありますか? また、参考書にあった以下の式でなぜ下2桁の75が生まれたのか理解できません。 2+0.25+0.125=2.375 こちらも分かりやすくどなたが解説していただけないでしょうか…( ;∀;)

  • 小数点⇔n進数のやり方

    いつもお世話になっております。 早速ですが、VB2008にて小数点⇔n進数のやり方がわからず困っています。 16進数 404ccccd 10進数 1078774989 2進数 1000000010011001100110011001101 小数点に変換すると3.2になるはずですが、やり方がわかりません。 CONVERTやbitconverter等試してみたのですがうまくいきません。 ネットで検索し、小数点からn進数は見つけたのですが、逆の方法が見つかりません。 逆演算すればとも思ったのですが、いまいちうまくいかず質問させていただきました。 宜しくお願いいたします。

  • コンピュータ小数点2進数

    ・コンピュータ内で「小数点以下を含む数」をデータとして表現する方法についてまとめよ。 (コンピュータ内で、メモリに記録される0と1の列によって小数点以下を含む数を表すのにどのようなルールが用いられているのか、つまり小数点以下を含む数のためのデータ解釈のルールを問う) このような問題あなたならどう回答を出しますか??

  • 浮動小数点変換

    (1)次の数値をIEEE754単精度形式で正規化された浮動小数点に変換し、結果を8桁の16進数で表記しなさい。 (a)0.5 0.5を二進数で表すと0.1 0.1*2^0であるから 0 00000000 10000000000000000000000 (b)1.0 1.0を二進数で表すと1.0 0.1*2^1であるから 0 10000000 10000000000000000000000 (c)1.25 1.25を二進数で表すと1.010 0.101*2^1であるから 0 10000000 10100000000000000000000 浮動小数点への変換、あってますでしょうか? また結果を8桁の16進数で表記とありますが 0.5だったら16進数で表すと0.9?これを8桁*16^なんとか乗で表すということでしょうか?

  • 小数の10進数を2進数に変換する方法

    小数の10進数を2進数に変換するには、変換したい10進数の小数部を小数が0になるまで2倍するのはなぜでしょうか?

  • 固定小数点で0.1?

    10進から、2進数、16進数に変換するのによくわからないことがあります。 固定小数点で0.1はどのように表せるのでしょうか? どなたかわかりやすく教えてください。お願いします。

  • 10進数から2進数への変換の仕方について

    10進数から2進数への変換の仕方について 以下のサイトに説明があったのですが、 http://www.pursue.ne.jp/jouhousyo/sysad/sysad010.htm 10進数の60を2進数に変換する場合、変換したい10進数を商が0になるまで2で割りつづけ商と余りを求めていますが、その時に、15/2などは7.5になり余りが、説明では商が7、余りが1になっています。 10進数から2進数へ変換する場合は、小数点以下の余りはすべて1として計算するのでしょうか?