• 締切済み

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

  • 8進数、16進数→10進数基数変換の解き方

    8進、16進を10進に直す基数変換を解いているのですが、いまいちあっているのかわかりません。 答え合わせをお願いします。  36.4(8進数) 3×8(1乗)+6×8(0乗)+4×8(マイナス1乗)=30.5  2D.C(16進数) 2×16(1乗)+D×16(0乗)+C×16(マイナス1乗)=45.75 ●×■(マイナス1乗)は、■(1乗)分の●で計算 検索した方法ではよくわからず、習った方法は忘れてしまいました・・・ わかりにくい表現方法で失礼します、よろしくお願いします。

  • 小数点を含む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 こちらも分かりやすくどなたが解説していただけないでしょうか…( ;∀;)

  • 2進数 10進数 関係

    例のごとくくだらない質問をすいません。 1101=1×2の3乗+1×2の2乗+0×2の1乗+1×2の0乗 になると言われたのですが、なぜこの計算になるのですか? 1 1 0 1 とかけられているのはわかるんですが、 かける数の2の3乗、2の2乗、2の1乗、2の0乗 この数はがどこから来ているのかわかりません

  • 16進数(小数)を2進数に直す方法を教えて下さい。

    1C.EE(16)を2進数に直す方法がわかりません;;; どなたか計算過程付きの解答をお願いします。

  • 16進数

    情報数学で分からないので困っています。。 (25+23+21+2-5+2-6)を16進数表示にしたいのですが、やり方(計算方法)が分からないです・・・ ※小文字は二乗とお考えください  -も二乗です 2進数の計算はできるのですが16進数や8進数になると分からないです・・・ どうかご教授お願い致します。。

  • 10進数を12進数に変換する方法

    10進数を12進数に変換する方法を教えてください。 計算機などは使わず手計算で変換する方法です。

  • 16進数から10進数への変換

    16進数の77が16×14+7だということはわかるのですが、少し複雑になるとわからなくなります。 例えば以下のような場合です。 「16進数で5D2Cは 16の三乗×5+16の二乗×13+16×2+12 とあらわされます。」 なぜ、16の三乗や、16の二乗をする必要があるのでしょうか? 5桁になるとおそらく16の4乗をする必要がありそうですが、 宜しくお願いします。

  •  Javaでのある数の小数点乗について

     Javaでのある数の小数点乗について  数学での計算をJavaを使って計算している所です。Javaの中でもDoubleを使うのではなく、BIgDecimalクラスを使って計算をしています。しかし、BigDecimalの値をBigDecimal乗するという事は出来ないですよね? Math.powを使えばDouble型のDouble乗は出来ますが…  そこで、任意の精度で小数点の小数点乗を求める方法は無いでしょうか? 必要ないかもしれませんが参考までに 言語:Java OS:MacOS 10.5

    • ベストアンサー
    • Java
  • 2進数の10進数表記

    2進数で10011010は、10進数でいくつでしょうか? 2の7乗の位・・・・・1×128 = 128 2の6乗の位・・・・・0× 64= 0 2の5乗の位・・・・・0× 32= 0 2の4乗の位・・・・・1× 16=16 2の3乗の位・・・・・1×  8= 8 2の2乗の位・・・・・0×  4= 0 2の1乗の位・・・・・ 1×  2=2 2の0乗の位・・・・・0×  1=0 ________________________ 合計                  154 何となくですが、計算は解るのですが、何となくしかわからないので なぜこの公式でこうなるのか詳しく解りやすく、教えて下さい。 特に計算式の左の0と1の数字が何なのかよく解りません。よろしくお願いします。

  • 小数の 10進数→n進法の変換  について

    先日このことに関して質問をさせてもらったのですが その中で 10進法の小数をn進法に変換する場合 普通は、大きい桁からまとまりを作っていくと思うのですが 小さい桁からまとまりを作って求めることも出来るというように回答をいただいたのですが 「 0.8125という10進数の数を2進法にしたい場合に、最も小さい桁からまとまりを作っていけば、 0.8125に、2^(-4)=0.0625が1個含まれる 0.8125-0.0625=0.75に、2^(-2)=0.25が1個含まれる 0.75-0.25=0.5に、2^(-1)=0.5が1個含まれる ということで、2進数で.1101となることがわかる    」 これは、それぞれどのように計算をして求めているのでしょうか? 自分で計算してみたのですがよくわかりませんでした。 よろしくお願いします。