• 締切済み

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

こんばんわ。 単純な質問なのですが、 (0.1)2を10進数に表すと(0.5)10になるみたいですが、 どのような計算そして導くのでしょうか? 2進数 → 10進数 10進数 → 2進数 どちらの方法も教えてください。 ちなみに『2-1』2の-1乗ってどういう計算なのでしょうか?

みんなの回答

  • naknow
  • ベストアンサー率66% (2/3)
回答No.5

こんばんは。 > ちなみに『2-1』2の-1乗ってどういう計算なのでしょうか? 例えば0から9までの10進数(普段の数)で長さを考えると、 1m 1km = 1000m(キロは10の3乗という単位)でmに10を3回掛けるとkm 1cm = 0.01m(センチは10の-2乗単位)で10で2回割るとmm これと同じで2をn回掛けるのが2のn乗で、2でm回割るのが2の(-m)乗です。 あと、 > 2進数 → 10進数 > 10進数 → 2進数 > どちらの方法も教えてください。 具体的な計算方法は他の方がたくさん回答してくれてますが、 自分で試すと理解が深まると思います。 参考URLに記入しておきましたが、 小数にも対応していて計算過程もつけてくれるサイトがあります。 (10進数→2進数だけですが) 回答読んでもよく分からないという場合は、 ご自分で試したい数値を変換してみるのが近道だと思います。

参考URL:
http://www.profaim.jp/utility/information-processing/n-adic/conv_dec_to_bin.php
  • info22
  • ベストアンサー率55% (2225/4034)
回答No.4

>『2^(-1)』2の-1乗ってどういう計算なのでしょうか? 2^2=1x2x2=4 2^1=1x2=2 2^0=1 2^(-1)=1x(1/2)=1/2 2^(-2)=1x{1/(2^2)}=1/4 ... ということで 2^(-1)=1/(2^1)=1/2 のことです。 発想を変えれば、2倍すれば 2^0=1 になる数、 つまり 1/2 ということです。 2^(-n)=1/(2^n) とマイナスのn乗は逆数をとることを意味します。 これは 2^nを掛けてやれば1になる数ともいえます。 2^(-n)x2^n=2^(-n+n)=2^0=1 (0.1)2 は2を掛ければ小数点の位置が1けた右に移動します。 {(0.1)2}x2=(1)2=1 2進法の1も10進法の1も同じ1です。 2を掛けて1になる10進数は 1/2=0.5ですから (0.1)2=1/2=0.5 となります。 10進数の (0.75)10 の場合 2倍すると (1.5)10 この整数部の1が2進数の小数第1桁目 残りの (0.5)10 をさらに2倍すると (1.0)10 となり、整数部の1が2進数の小数第2桁目 小数以下がもうないですから (0.75)10=(0.11)2 と変換できたことになります。 0.75=0.75x2/2 =1.5/2 =1/2+0.5/2 =1/2+1/4 =1x2^(-1)+1x2^(-2) =(0.11)2 と2進変換出来ます。 (10.101)2=1x2^1+1x2^(-1)+1x2^(-3) =2+1/2+1/8 =2+0.5+0.125 =2.625(10進) といった具合に10進変換できます。 (10.101)2=(10.101)2x2^3x2^(-3) =(10101)2x(1/8) =(16+4+1)/8 =21/8 =2.625(10進) という計算でも10進変換できます。

  • owata-www
  • ベストアンサー率33% (645/1954)
回答No.3

2の-1乗=1/2の1乗 2の-k乗=1/2のk乗です 2進法0.1→0×2^0+1×2^(-1)=1/2=0.5…10進法です つまり2進法小数第n位→2^(-n)=1/2^nです 10進法0.5=1/2=2^(-1)=0.1…2進法です

  • thirdforce
  • ベストアンサー率23% (348/1453)
回答No.2

たとえば、二進法で、 0101としますと最後は、2の0乗X1足す2の1乗X0と言う風に計算します。それらを足すと10進法にかんざんできます。 10進法は、数字を2で割ります、あまりが出たら、1 割り切れたら 0と言う風に最後まで2で割ります。そのあまりが、0と1です。 その組み合わせが、例えば、00110110という風になります。 これが10進法を2進法に変換する方法です。 2のマイナス1乗は、両方の変換には関係ありません。よく調べてください。最後の2進法では、2の0乗で、1です。

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.1

こんばんは。 大きい桁から小さい桁に下がっていけば、簡単に理解できます。 二進数の1000の位 = 十進数の8 二進数の100の位 = 十進数の4 二進数の10の位 = 十進数の2 二進数の1の位 = 十進数の1 このように、二進数の桁が1つ下がるごとに、値としては1/2倍ずつされていくので、つづきは、 二進数の0.1の位 = 十進数の0.5 二進数の0.01の位 = 十進数の0.25 二進数の0.001の位 = 十進数の0.125 ・・・ となります。 ですから、 二進数の「0.1」は、十進数の0.5ですね。 ちなみに、二進数の「10.11」は、十進数の、 2+0.5+0.25 = 2.75 です。 逆は、たとえば、十進数の9.25は、 8、つまり、二進法の1000円玉が1枚。  残りは、9.25 - 8 = 1.25。 1、つまり、二進法の1円玉が1枚。  残りは、1.25 - 1 = 0.25。 0.25、つまり、二進法の0.01が1枚。  残りは、0.25 - 0.25 = 0 というわけで、 十進数の9.25 = 二進法の 1000 + 1 + 0.01  = 二進法の 1001.01 (教科書には、ほかのやり方、すなわち、2でどんどん割ってって、余りが1か0かで変換する手順が書かれていると思います。) >>>ちなみに『2-1』2の-1乗ってどういう計算なのでしょうか? 2^(-1) = 1/2^1 = 1/2 です。 ちなみに、 2^(-3) = 1/2^3 = 1/8 です。 なぜそうなるかといえば、 2^4 = 16 2^3 = 8 2^2 = 4 右辺は、半減していきますよね? この法則で行けば、 2^1 = 2 2^0 = 1 2^(-1) = 1/2 2^(-2) = 1/4 2^(-3) = 1/8 ・・・ となるわけです。 以上、ご参考になりましたら幸いです。

関連するQ&A