dポイントプレゼントキャンペーン実施中!

2進数の計算について分からない問題があるのでお願いします。



(1) 2進5ビットの数値で,01001をバイアス表示とみるとき,10進数ではいくつか


(2) 10進数の4を2進5ビットで表す.バイアス表示を用いると,どのように表されるか.

できるだけ詳しい回答くれるとありがたいです。

A 回答 (5件)

バイアスは別に正負半分になるようにする必要はなく、例えば、負は-1だけ使いたいなら「バイアス1」でもいいわけです。

また、符号無し整数は「バイアス0」とも考えられます。

最上位ビット=1でバイアスすると、いろいろと便利ではありますが、「単にバイアス表記といったらこれを意味する」なんて規則は聞いた覚えがありません。

その問題も、もっと大きな問題の一部で、バイアスについて明示的、あるいは暗黙で指定があるのではないでしょうか?
例えば、「仮数部5bit(16でバイアス)の浮動小数点数について」という問題の一部で、「仮数について」という問題だとか。
    • good
    • 1

> 「バイアス値はいくつ」と指定していないのは不備です(回答ANo.3)



と指摘のあったとおり,今回の質問文だけでは解けない問題です。

> ちなみに(2)の答えは分かっていて、10100になっているんですよ。

という条件が与えられて初めて,バイアス値(イクセス値,下駄ばき値)が 10000 だと判明しました。

解答は,回答ANo.3のとおりです。


> できるだけ詳しい回答くれるとありがたいです。

http://oshiete.goo.ne.jp/qa/2700742.html の私の過去の回答ANo.3
  または
http://ja.wikipedia.org/wiki/符号付数値表現
の「4 エクセスN」を参照。

この回答への補足

やっぱりバイアス値ってのは指定されるものなんですか?

この問題文にバイアス値はのってなかったので自分もそれがわかんなくてこれってどうやって解くんだろと悩んでいました。

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

ですが、本当に問題文には質問のようにただ漠然としか書かれていなかったんですよ。

補足日時:2011/06/28 00:43
    • good
    • 0

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の補数表現がよく使われます。

この回答への補足

前回のは浮動小数であっています。
おそらく現在整数も浮動小数も固定小数も全部同時に勉強してるので
頭がごっちゃごちゃになっていて頭の整理ができなくなってしまったんだと思います。

整数、1の補数、絶対値の表現、2の補数、固定小数、浮動小数、バイアスなどすべて同時に勉強してるのでなにがどれだかわからなくなってしまいました。

補足日時:2011/06/28 00:19
    • good
    • 0

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

この回答への補足

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

補足日時:2011/06/27 23:42
    • good
    • 0

こんばんは



質問の背景を教えてください。
そうでないと、
>できるだけ詳しい回答くれるとありがたいです。
の回答ができません。

まず、以下のことを教えてください。
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
になっただけです。

この回答への補足

えっと課題ででているんですよ。
学校の。

バイアスっていろいろなときに使うもんなんでしょうか?

参考書をみると、バイアスとは負の数を正の数のように扱い、大小関係を見やすいというメリットがあるみたいなことが書かれているんです。
単精度の浮動小数の分野のところででてきました。

ちなみに(2)の答えは分かっていて、10100になっているんですよ。
でもなぜこうなるのか分からないんです。

だからたぶん(1)の答えも違うと思います。

もしかしたらカテゴリ違いだったかもしれませんが、以前数学のカテゴリに投稿したところカテゴリ違いと言われたので、こちらに投稿させていただきました。
コンピュータ系の技術者なら知っているだろうと思い。

補足日時:2011/06/27 23:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!