• 締切済み

基数と基数変換について

この春初めて基本情報をうけます。 今勉強を始めたばかりでの初学者です。 2進数から10進数に変換の問題で質問です。 2進数の1.1011 と1.1101を加算した結果を10進数であらしなさい。 どうして2進数を足して11.1000になり答が3.5になるかわかりません。 教えて下さい。

みんなの回答

回答No.4

すでに回答されている方が3名おられますが、別の方法を紹介します。 まず当たり前すぎることですが、準備として1桁の2進数の足し算は次の3通りです。 0+0=0 0+1=1+0=1 1+1=10 3番目の計算では桁上がり(10進数で9+1=10のようなこと)が起きていまるので、2桁以上の2進数の計算では次のように3つの数の足し算4通りを計算できるようになればよいです。特に難しくないと思います。 0+0+0=0 0+0+1=0+1+0=1+0+0=1 0+1+1=1+0+1=1+1+0=10 1+1+1=11 それでは1.1011+1.1101の計算です。小学校で習ったのと同じように、小数点の位置を合わせて筆算します。 添付した絵を見てください。赤字の1は桁上がりです。 計算結果は2進数で11.1ですから、これを10進数に変換します。 小数点より上は11→3です。 小数点より下は0.1→0.5です。(注) したがって答えは3.5になります。 (注)2進数を10進数に変換すると小数点より上の桁は2倍になっていき 1→1, 10→2, 100→4,1000→8,.... となります。小数点より下の桁は2分の1になっていき 0.1→0.5, 0.01→0.25, 0.001→0.125, 0.0001→0.0625,.. となります。 10進数で小数点より上の桁が上がると10倍に、小数点以下の桁が 下がると10分の1になるのと同じことです。

回答No.3

二進数で、2倍して1になる数字を書くとわかりますが。 0.1(2進数) これを2倍すれば 1 つまり、1÷2が0.5(10進数) なので、0.01(2進数)これは4倍すれば1なのですから、 0.25(10進数) これわかれば、足し算も引き算も全部同じです。

回答No.2

普通に足すと 1.1011 1.1101 ------------ 2.2112 ただし、2進数は2になると1つ上の桁に桁上がりするので、左から2の部分を桁上がりさせていくと 2.2112 -> 10.2112 -> 11.0112 -> 11.0120 また2になる桁が出てきたので桁上がりさせて 11.0120 -> 11.0200 同様に 11.0200 -> 11.1000 2進数を10進数に変換 整数部は2^1+2^0=3 小数部は2^(-1)=1/2=0.5 よって11.1000は3.5に変換されます。

  • maiko04
  • ベストアンサー率17% (345/1956)
回答No.1

100=4 10=2 1=1 0.1=0.5 0.01=0.25 を足し合わせてください。 11.1=10+1+0.1=2+1+0.5=3.5

関連するQ&A

  • 基数変換の変換につきまして

    現在基本情報技術者の勉強をしています。 10進数から2進数への変換など基数変換がよくわかりません。 10進数の数値を 「 0 」 になるまで 「 2 」 で割り算していき、その結果の「余りの数 」を並べることによりある10進数の値を2進数の値へ変換することができることは分かるのですが、 どういう仕組みでそのようにしたら求められるのかがまだ理解しきれないのです。 とくに少数を変換するときなどはまた戸惑ってしまい、それをまた16進数や8進数などスムーズに変換することができません。 基本的な質問で大変申し訳ないのですがどうかご教授頂ければ幸いです。 どうぞよろしくお願いいたします。

  • 基数変換 (小数)

    8進数の27.8と16進数の3C.Bを加算した結果を、16進数で表したものはどれか。という問題をやっていたのですが、小数の場合の8、16進数の変換の仕方が分かりません。サイトで調べたのですが分かりやすい説明の仕方をしたサイトがありませんでした。なので、良ければ詳しく教えていただけないでしょうか?(2進数から10進数への小数変換は分かります。例10.10 = 2.5) 分からない事〔8進数から2進数へ変換 例27.8→?〕 〔16進数から2進数へ変換 例3C.B→?〕

  • 基数変換について。

    基数変換について。 2進数を10進数に変換 (1) 1 1 1 1 0 0 0 0 (2) 1 0 0 1 0 1 1 1 (3) 1 1 1 0 0 0 1 1 (4) 0 0 0 1 0 1 0 0 (5) 0 1 0 1 1 0 1 0 (1)~(5)の答えを教えてください。

  • 基数変換

    学校で出された基数変換の問題で、 16進数のA9Dを2進数に変換しなさい 答え、101010011101 8進数の546を2進数に変換しなさい 答え、101100110 2進数の10101011を8進数に変換しなさい 答え、253 で大丈夫でしょうか?お願いします。

  • 基数変換について教えてください。

     基数変換について以前から少し疑問に思っいた点があるので教えてください。例えば10進数の56を2進数に直すと111000になります。しかし、16進数の38から2進数に直すと4桁ずつ計算する癖がついているので00111000とかいてしまいます。この2つは桁数でいうと前者が6桁、後者が8桁で表されているだけで、結局は同じ事を意味していると思うのですが、例えば参考書の答えでは、しっかりと00111000と書いてあります。この桁数というのは重要なのでしょうか?答えの時111000としてしまっては間違えになるのでしょうか?よろしくお願いします。

  • 基数変換について

    応用情報技術午前問題集を購入しましたが 基数変換について躓いています。 解説がよく分りません。 【問題】 aを正の整数とし、b=a^2とする。aを2真数で表現するとnビットであるとき、bを2真数で表現すると高々何ビットになるか。 ※a^2はaの二乗です。 ア:n+1 イ:2n ウ:n^2 エ:2n 【解説】 8の2乗は64を例に、問題のb=a^2を置き換えてみる。 a(8)、b(64)とする。 a(8)を2進数で表現するとn(3)ビットであるとき、 b(64)を2進数で表現すると6ビットになる。 イ:2n=2×3=6 だそうなんですが、 8は4ビット(1000)、64は7ビット(100 0000)だと思うのですが どう考えたらよいのでしょうか。 日本経済新聞発行 2009年度版応用情報技術高度共通午前問題集より

  • 基数変換のアルゴリズムの問題

    アルゴリズムの問題の回答に納得がいきません。 変換対象をDEC、基数をBASEに格納し、基数変換を行うというものです。 配列Bの添え字は「1」から始まり、DECをBASEで割った余りを 求める関数MODはあらかじめ用意されているものとする。 1.変数Iに1を格納、変数DECに変換対象を格納、変数BASEに基数を格納。 2.MOD(DEC,BASE)の結果を変数Nに格納。 3.NをB(I)に格納。 4.I + 1 をIに格納。 5.「 」の結果を変数DECに格納。 6.DEC=0なら処理終了、それ以外は(2) の処理へ戻る。 「  」内を埋める問題です。 私の答えは「(DEC - N) / BASE」だったのですが、正解は「DEC / BASE」でした。 DECからN(余り)を引いてからBASEで割らないと、 割り切れない場合、最悪いつまで経っても「DEC=0」にはならなくなってしまうと思うのですが、そうではないのでしょうか? 正解は「DEC / BASE」で、あっているのでしょうか? Perlでプログラムを書いて(配列Bの添え字は0からにして、whileの条件式を「DEC != 0」にしました)試してみましたが、 「DEC / BASE」だと、割り切れない場合、結果の0の数がえらいことになってしまいました(^^;) ちゃんと勉強し始めたのがつい最近なので説明がうまくできませんが、どなたか解るかた教えてくださいm(_ _)m

  • ITパスポートの基数変換についてです。

    8進数の1517を16進数に変換する問題がでてきましたが、 解説がなくて、とても困っております・・・。 解説お願いいたします・・・。

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

    今独学で情報処理の勉強をしています。 わからないことがあるので質問させていただきます。 (1001101.101)2を10進数に変換します。 答えは77.625になるのですが。 .101の方の計算法がわかりません。 というのは一番最初の1の部分の答えが+0.5 真ん中の0はそのまま0だと思います。 最後の1は+0.125になっています。 どうして最初の1が0.5になり、最後の1が0.125になるのでしょうか? 解説していただけないでしょうか?

  • 16進数から10進数への基数変換について質問があります。

    基本情報技術者問題集の設問で、 16進数少数3A.5Cを10進数の分数で表したものはどれか。 ア、939/16 イ、3735/64 ウ、4939/256 エ、14941/256 解説が、 3*16^2+10*16^1+5*16^-1+12*16^-2 =3*16^2+10+16^1+5/16+12/16^2 ={3*16^4+10*16^3+5*16+12}/16^2 * は掛け算の表記として使っています。 ^ は二乗の表記として使っています。 / は分数の表記として使っています。 解説の一行目の3が3×16^2、Aが10×16^1となる意味がよくわかりません。 3×16^1、10×16^0ではないのですか? 基本的なことだと思うのですがお教えください。