• ベストアンサー

2進数の計算について

2進数の計算について分からない問題があるのでお願いします。 (1) 2進5ビットの数値で,01001をバイアス表示とみるとき,10進数ではいくつか (2) 10進数の4を2進5ビットで表す.バイアス表示を用いると,どのように表されるか. できるだけ詳しい回答くれるとありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.5

バイアスは別に正負半分になるようにする必要はなく、例えば、負は-1だけ使いたいなら「バイアス1」でもいいわけです。また、符号無し整数は「バイアス0」とも考えられます。 最上位ビット=1でバイアスすると、いろいろと便利ではありますが、「単にバイアス表記といったらこれを意味する」なんて規則は聞いた覚えがありません。 その問題も、もっと大きな問題の一部で、バイアスについて明示的、あるいは暗黙で指定があるのではないでしょうか? 例えば、「仮数部5bit(16でバイアス)の浮動小数点数について」という問題の一部で、「仮数について」という問題だとか。

その他の回答 (4)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.4

> 「バイアス値はいくつ」と指定していないのは不備です(回答ANo.3) と指摘のあったとおり,今回の質問文だけでは解けない問題です。 > ちなみに(2)の答えは分かっていて、10100になっているんですよ。 という条件が与えられて初めて,バイアス値(イクセス値,下駄ばき値)が 10000 だと判明しました。 解答は,回答ANo.3のとおりです。 > できるだけ詳しい回答くれるとありがたいです。 http://okwave.jp/qa/q2700742.html の私の過去の回答ANo.3   または http://ja.wikipedia.org/wiki/符号付数値表現 の「4 エクセスN」を参照。

final2909
質問者

補足

やっぱりバイアス値ってのは指定されるものなんですか? この問題文にバイアス値はのってなかったので自分もそれがわかんなくてこれってどうやって解くんだろと悩んでいました。 ただバイアスというのは、例えば-7などでもそれを0として扱う、最小を0として扱うというものなので、これは5ビットであり、2^5で、32となる。つまりこれを半分にすると、-16から15という範囲を扱うことができるため、最小の数は -16、2進数だと10000をバイアス表現では0として扱う。よって10000がバイアスだろうと推測の上、計算していました。 そしたら回答は当たっていました。 ですが、これはなんとなくこうなんじゃないかなと思って解いたので、自身がなかったので、よく解き方が分からないということで質問させていただきました。 ですが、本当に問題文には質問のようにただ漠然としか書かれていなかったんですよ。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

QNo.6834875と同じ方ですか。 QNo.6834875では、「浮動小数の計算」ということが質問にあったので、浮動小数点数の表現のなかに「バイアス」を使う部分があるので、その説明をしました。 今回の質問では、「整数」についての質問なので、前回の回答とは「バイアス」という点では同じですが、整数の表現と、浮動小数点の表現の仕方はまったく違うので、前回の説明とは違ってきます。もしかして、前回も「整数」についての質問だったのでしょうか。それで「ピンとこない」と。 なお、今回の質問に「整数」ということばはありませんが、「2進5ビットの数値で,01001」ということで「整数」であることがわかります。 本題に入ります。 2進数をビットで表現するとき、「-」の記号はないので、そのままでは負数(符号付整数)の表現はできません。それで、何らかの約束をして、この場合は「-の数です」と決めます。その、約束の仕方はいろいろあるのですが、そのうちの1つが、「バイアス」を使うもので、2進数の表現から一定の数を引いてあらわすものです。 整数と負数を絶対値が同じ程度の大きさまで表現したいので、使用するビットで表現できる最大数の約半分を引くことにします。 質問の場合、5ビットなので、ふつうこれで表現できる数は、10進で0~31です。その約半分16をバイアス値とすれば、-16~15まで表現できることになります。 なお、ここでバイアス値を約半分16としたが、これは決まりがあるわけではないので、「バイアス値はいくつ」と指定していないのは不備です。以下の計算で、バイアス値は15でしたなんて言われても、勝手にしろです。 まとめると、 2進→10進は、2進表現から16ひく。 10進→2進は、10進に16を足して2進表現にする。 質問の (1) 01001は10進で9なので、9-16=-7 (2) 10進の4は、4+16=20で、2進5ビットにすれば、10100 でしょう。 先の浮動小数点数よりずっと簡単です。 なお、符号付整数の表し方は、2の補数表現がよく使われます。

final2909
質問者

補足

前回のは浮動小数であっています。 おそらく現在整数も浮動小数も固定小数も全部同時に勉強してるので 頭がごっちゃごちゃになっていて頭の整理ができなくなってしまったんだと思います。 整数、1の補数、絶対値の表現、2の補数、固定小数、浮動小数、バイアスなどすべて同時に勉強してるのでなにがどれだかわからなくなってしまいました。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.2

バイアス表示って何ですか?

final2909
質問者

補足

分からないから質問してるのであって、逆に質問されても困ります。 浮動小数の計算のとろこでバイアスというのがでてきたんです。

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.1

こんばんは 質問の背景を教えてください。 そうでないと、 >できるだけ詳しい回答くれるとありがたいです。 の回答ができません。 まず、以下のことを教えてください。 1.final2909 さんの予備知識がどれくらいありますでしょうか? 2.どのようなトラブルがあったから「すぐに回答ほしいです」で質問したのでしょうか? ご質問の直接の回答ならば (1) 16×0 + 8×1 + 4×0 + 2×0 + 1×1 ------------ =9(10進法) (2) 4÷16=0 あまり4 4÷ 8=0 あまり4 4÷ 4=1 あまり0 0÷ 2=0 あまり0 0÷ 1=0 あまり0 なので 4(10進法)=00100(2進法) です。 お金の時は 1円、5円、10円、50円、100円、500円、1000円、5000円、10000円 の組み合わせでお札や硬貨が何枚ほしいか考えますが、それと全く同じです、 使える数字の組み合わせが 1,2,4,8,16 になっただけです。

final2909
質問者

補足

えっと課題ででているんですよ。 学校の。 バイアスっていろいろなときに使うもんなんでしょうか? 参考書をみると、バイアスとは負の数を正の数のように扱い、大小関係を見やすいというメリットがあるみたいなことが書かれているんです。 単精度の浮動小数の分野のところででてきました。 ちなみに(2)の答えは分かっていて、10100になっているんですよ。 でもなぜこうなるのか分からないんです。 だからたぶん(1)の答えも違うと思います。 もしかしたらカテゴリ違いだったかもしれませんが、以前数学のカテゴリに投稿したところカテゴリ違いと言われたので、こちらに投稿させていただきました。 コンピュータ系の技術者なら知っているだろうと思い。

関連するQ&A

  • 2進数の計算

    127 + (-3) の計算ですが 普通に10進数で計算してから124を2進数に直しても良いのですが、 敢えて2進数での計算方法を教えていただけませんでしょうか。 127は1111111ですが -3は8ビットで表さなければならないのでしょうか? その場合、足したり引いたりしても良いのでしょうか?

  • このような計算はできるでしょうか?

    現在 「2バイトの数値」から「ビットが1である数」を求める 計算を行おうと思っています。 例えば、2バイトの数値が「222」の場合 →ビットに直すと「11011110」となり →ビットが1である数は「6」となります。 この計算をVBで行いたいのですが、 効率的に行える方法はないでしょうか? AND演算を行い1ビットずつカウントすると いう方法を考えたのすが、判定の時IF文がはいってしまうため 処理速度が遅くなり、困っております。 どなたか、お気づきの方はご教授ください。

  • 2進数の計算について

    次の計算について教えてください。(答えは8ビット2進数でお願いします) (1)00010110×00000110 (2)11101011÷00111011 よろしくお願いします。

  • 2進数から16進数の計算を電卓で行うには?

    2進数から16進数へ変換する際の質問です。 2進数から16進数の計算を、WinXPの電卓(アクセサリ)で行うにはどうしたらいいのでしょうか?できるんでしょうか? また2進数『00030101』のような数値を16進に買えることは、winの電卓でできるのでしょうか? ありえない数値なんでしょうか?イマイチ解からないんですが・・・。 よろしかったら教えてくださいー。

  • 60進数の四則計算

    いつもお世話になります。 煮詰まっております。いい方法をご教授頂けたらと思います。 小数点以上は10進数、小数点以下(2桁まで)を60進数で表す数値があります。 1.30 ↑↑↑ ||-60進数  -区切り -10進数 このように表す数の四則計算をして、足し算は問題なく出来ます。 それ以外を計算する方法がうまくいきません。 一度数を10進に戻して・・・と思ったのですが、繰り上がり等でおかしくなっています。 期待値は 6.30×1.30=9.45 8.00÷2.00=4.00 などです。 よろしくご教授くださいますようお願い致します。

  • 10進数をと2進数の計算が・・

    10進数で表されているものを2進数に変換して計算を行う。 というものなのですが・・ 4+9 8-1 4×6 がよくわかりません・・・。 変換したあとどうやって計算していいのかわかりません。。 どなたかご回答お願いいたします<(_ _)> 困っています。途中計算などがありますと非常に助かります。

  • 10進数が何ビット必要かを出す計算式

    10進数Nが2進数で何ビット必要かを出す計算式を教えて下さい。 できたら解説もしてもらえたら嬉しいです。

  • エクセルでの絶対数の最小値計算式

    エクセルで、絶対数の最小値計算に悩んでいます。 例えば、-1、-10、2と数値があった場合、ABSを使用すると答えが絶対値の1と出るんですが、 これを-1と表示させたいのです。

  • 10進数を2進数に変換するについて

    10進数「44」を2進数に変換するには、 44÷2=22 余り0 22÷2=11 余り0 11÷2=5 余り1 5÷2=2 余り1 2÷2=1 余り0 1÷2=0 余り1 下から順に数え、2進数で101100と分かります。 これを2で割って余りを出すとは、どういうことですか。 右に1ビットシフトして溢れたビット10進数の44を表す方法が分かりません。 「(1×2^5+0×2^4+1×2^3+1×2^2+0×2^1+0)÷2」とは、どういうことですか。 なぜ最後に2で割るのでしょうか。 またこれが、 (1×2^4+0×2^3+1×2^2+1×2^1+0)と説明されています。 双方とも計算しても10進数の44にはなりません。 これ等は、どのように解釈すれば良いのでしょうか。 お手数ですが、説明の出来る方おられましたら、回答お願い致します。

  • 負の2進数の表示がわかりません

    Q1:負の数(例えば10進数の[-2])を2進数,4ビットで表すには, 1010(MSDの[1]は[-]を表して,後半の3桁は[2])か 1110([0001]の2の補数) どちらが正しいのですか?(学校ではどちらも習いました) またQ2のような計算をするには補数による表示でないとなりませんか?(絶対値に符号をつけるだけだと計算が合いません) Q2:4ビットで表された2進数の計算で    0101-0010=0101+(1110)=10011 となり,答えが5ビットになってしまいます.下4桁で考えると答えが合っている気がします.これで合っていますか?