- ベストアンサー
進数の問題について
またまたすみません。 次の各問題の解答とその過程を教えて頂けますでしょうか?? 「7/32の結果を2進数で示せ」 (計算過程も教えて下さい。) (1)0.001011 (2)0.001101 (3)0.00111 (4)0.0111 「2進数で正しく表現できない10進数はどれか」 (できれば理由も教えて下さい。) (1)0.1 (2)0.125 (3)0.25 (4)0.5 「負数を2の補数形式で表現するとき,4ビットの符合つき2進整数の計算で,あふれ(オーバーフロー)が生じるのはつぎのどれか」 (あふれや4ビットの意味がよく分かりません。 理由も教えて下さい。) (1)0101+1001 (2)0001+1011 (3)0010+1101 (4)1011+1011 ほとんど分かりません。よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
[1番] 10進数を2進数に直すのは整数は2で割っていきます。 例 5を2進数に直すと5÷2=2余り1 2÷2=1余り0 1÷2=0余り1 この「余り」を下から順に書くと5=101 5=1*2^2+0*2^1+1 という意味です。2で割って余りを 考える理由がわかると思います。 小数の場合は2を「掛けて」整数になった部分を順に書いていきます。 例 7/32*2=7/16 整数部分なし 7/16*2=7/8 整数部分なし 7/8*2=7/4=1+3/4 整数部分 1 3/4*2=3/2=1+1/2 整数部分 1 1/2*2=1 整数部分 1 答0.00111 別解 7を7=4+2+1 と2の何乗の数に分ける 7/32=(4+2+1)/16=1/8+1/16+1/32 2進数では 1/2=0.1,1/4=0.01,1/8=0.01・・・・・です。 2を掛けていく理由も分かってもらえると思います。 [2番]はもうできますか? 2をいくら掛けても小数がなくならないのが答です。 答(1) [3]4ビットは2進数の4桁と思ってください。 (1)1110 (2)1100 (3)1111 (4)10110 今は4ビットまでしか無いので(4)は1番左の数が読めません。繰り上がって桁数が増えてしまった=あふれ です。(4)は0110と読まれてしまいます。 蛇足 なお符号付4ビットですから1番左は符号0=プラス,1=マイナス を表す。 それも含めて普通に足し算します。
その他の回答 (1)
- Largo_sp
- ベストアンサー率19% (105/538)
いきなり問題を解いているのでしょうか... 参考書やweb検索するとビットについてはいろいろ出てきますが... まず最初の問題 ここは、数学のカテゴリなので数学の考えで一般的に n進数の小数点表記ですが、小数第m桁目は、 n^(-m)となっています(nの-m乗) とすると、今回の2進数の場合は... 7/32=1/32+1/16+1/8=1/2^5+1/2^4+1/2^3+0/2^2+0/2 となって、答えは、0.00111...(3)ですね... 2問目の問題は、整数のn進数化の逆をします。 n倍していって、m回目の整数部分が小数第m桁ですね.. ここでは、循環するものをみつけますが... 分数にして、分母にnの素因数が含まれないものを探すのが かんたんですね この場合 0.1=1/10=1/2*5...5がある。 0.125=1/8=1/2^3...2だけ 0.25=1/4=1/2^2...2だけ 0.5=1/2=1/2^1...2だけ で答えは... 3問目は...4ビットというのは、4つの信号線しかない 4つの0と1でしか表現しないという意味です。 4桁しか有効でないよ...というかんじですね... 当然、繰り上がりというものがあるので、5桁になる場合がありますが、 このことを桁あふれ...オーバーフローといいます。 このことが解かれば答えは一瞬ですね... これは計算してみてください