• 締切済み

コンピュータ系の勉強をスクールに通わず、独学で勉強しています。理解するまで時間がかかってしまいます。お答お願いします。

質問が少し多くなりますが、よろしくお願いします。 (1)問題、2進数の計算をしなさい。引き算は補数を使ってやること。 1110101-100111= (2)問題、4ビットで計算しなさい。引き算は補数を使ってやること。 0011-0110= 1110+1101= 1110+0111= (3)問題、次の16進数は2進数ではどのように表せますか。また、10進数ではどうですか。 (1)20 → (2)4C → (3)100 → (4)7F → (4)問題、球が100個あります。(球の色は全て赤色です。)     この中から一つ取り出して球の色を教えてもらった場合、何ビ    ットの情報量を得たか答えなさい。(教えてもらう方は球の色    が赤色しかないことは知っている。)計算式をたてて答えなさ    い。 (1)番の問題ですが、他の足し算や掛け算の問題は分かったのですが、引き算がどうしても分からないのです。 (2)番の問題ですが、(1)番にも出てきましたが補数の意味が分かりませ ん。 (3)番の問題では、16進数と2進数、16進数と10進数の対応表ですぐ答えはでてくるのですが、計算方法が分からないのです。 (4)番の問題は、最初から球の色は知っているから情報量はゼロにな  ると思うのですが、計算式をたてて答えなさいとあるので・・・ 長くなり本当にすいません。答えだけではなく計算式も書いて頂けたら有難いことです。文章が下手ですいませんが、宜しくお願いします。

みんなの回答

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

(1)(2) 「補数」の概念については、まず10進数で考えた方が理解しやすいでしょう。 10進数二桁の演算をするときに、「-14」の代わりに「100-14」である「86」を使います。 そうすると、例えば、「37-14」は、-14の代わりに86を使うと 「37+86」=「125」となりますが、下二桁を見ると「25」となり、これは「37-14」の結果になってます。 このように、「補数」を使うことで、負数の概念無しに、負数を容易に扱うことが出来るようになるのです。 10進数で10の補数を作るときは、「各桁ごとに9から引いて、最後に1を足す」と求まります。-14の場合、各桁9から引くと「9-1=8」「9-4=5」で「85」、それに1を足すと86。要は「100-14」の計算の代わりに「99-14+1」を行ってるわけですが。 同じように、2進数で2の補数を作るときは「各桁を1から引いて、最後に1を足す」という計算になりますが、2進数一桁で「1から引く」とは、「ビットを反転する」ってことになります。(1から「0」を引くと「1」になり、1から「1」を引くと「0」になる) (1)の1110101-100111=ですが、 2進数7桁で考えると、「-0100111」の2の補数は、「1011001」になります。 (0100111の各桁を反転すると「1011000」で、それに1を足すと「1011001」) ですので、 1110101-100111 は、 1110101+1011001 になります。これを計算すると、11001110 になりますが、 桁溢れした8桁目は無視して、 答えは「1001110」になります。 (2)も計算手順は同様です。 (3)はANo.1の通り。 (4) 情報理論の話ですね。 情報理論では、「情報量」は「-log_2(確率)」で表されます。 ただし、log_2 は、「2を底とする対数」です。(logに下付の2) 対数とは、2を何乗したらその数になるか、という概念で、 例えば、2の4乗は16なので、log2(16)=4 になります。 逆に、1より小さい数字の対数は、逆数の対数の正負を逆にしたものになります。log2(1/16)=-4。 これを元に情報量を計算すると、 たとえば、1/2の確率で起きる事象は、-log2(1/2) = 1 になり、情報量1bitです。 1/4の確率で起きる事象なら、-log2(1/4) = 2 で、情報量2ビット 3/4の確率で起きる事象なら、-log2(3/4) = 0.415ビット となります。 今回の問題では、確率100%で起きる事象ですから、その情報量は、 -log2(1) = 0 で、0bitという式になります。

shinkon
質問者

お礼

みなさん、本当にありがとうございました。 あと数字が苦手、理解力がないためご迷惑をおかけしました。 すごい分かりやすく説明して頂き、私でも理解することが できました。 本当にありがとうございました。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

>(1)番の問題ですが、他の足し算や掛け算の問題は分かったのですが、引き算がどうしても分からないのです。 1110101-100111= 桁を合わせて  1110101 -)0100111 ----------- として考える >(2)番の問題ですが、(1)番にも出てきましたが補数の意味が分かりません。 マイナス表記の仕方。 2の補数なら、+1なら「0001」、-1なら「1111」とあらわす方法。 ビットを反転させて(補数-1)分を足すことで正負逆の値を得る。 >(3)番の問題では、16進数と2進数、16進数と10進数の対応表ですぐ答えはでてくるのですが、計算方法が分からないのです。 問題は「計算」ではなく進数の「変換」とあるけど? 16進数の10進数への変換は、10進数と同じ考え方。 例えば10進数で「123」とあった場合、 (10*10)*1 + 10*2 + 3 = 100 + 20 + 3 = 123 となる。 同様に16進数で「12C」なら (16*16)*1 + 16*2 + 12 = 256 + 32 +12 = 300 となる。 >(4)番の問題は、最初から球の色は知っているから情報量はゼロになると思うのですが、計算式をたてて答えなさいとあるので・・・ 問題として何かがおかしい気がしますが、原文通りてですか? 「取りだしたかどうか」であれば「玉の有/無」なので1ビットあれば十分。 「全ての玉のうちどれを取りだしたか」であれば、100個分の情報が必要なので100ビット。 ……計算式はどこにも出てこないな。

関連するQ&A

  • やっと就職できたのですが、課題がありましてすごく困っています。お答宜しくお願いします。

    質問が少し多くなりますが、よろしくお願いします。 (1)問題、2進数の計算をしなさい。引き算は補数を使ってやること。 1110101-100111= (2)問題、4ビットで計算しなさい。引き算は補数を使ってやること。 0011-0110= 1110+1101= 1110+0111= (3)問題、次の16進数は2進数ではどのように表せますか。また、10進数ではどうですか。 (1)20 → (2)4C → (3)100 → (4)7F → (4)問題、球が100個あります。(球の色は全て赤色です。)     この中から一つ取り出して球の色を教えてもらった場合、何ビ    ットの情報量を得たか答えなさい。(教えてもらう方は球の色    が赤色しかないことは知っている。)計算式をたてて答えなさ    い。 (1)番の問題ですが、他の足し算や掛け算の問題は分かったのですが、引き算がどうしても分からないのです。 (2)番の問題ですが、(1)番にも出てきましたが補数の意味が分かりませ ん。 (3)番の問題では、16進数と2進数、16進数と10進数の対応表ですぐ答えはでてくるのですが、計算方法が分からないのです。 (4)番の問題は、最初から球の色は知っているから情報量はゼロにな  ると思うのですが、計算式をたてて答えなさいとあるので・・・ 長くなり本当にすいません。答えだけではなく計算式も書いて頂けたら有難いことです。文章が下手ですいませんが、宜しくお願いします。

  • 2進数の足し算について

    CPUは引き算を行うことができず、2の補数を用いて引き算を足し算として考えれると知りました。 そこで8bitの最上位桁を符号とした7bitの引き算-24+(-8)を計算してみたのですが 24(10進数)→0011000(2進数)→1101000(2の補数) 8(10進数)→0001000(2進数)→1111000(2の補数) 符号 7654321←bit  1 1101000 +1 1111000  X 1100000 となり、1100000の2の補数をとると 0100000(2進)→32(10進数)で答えを求められました。 そこでお聞きしたいのですが、値を足したとき(↑の例だと1100000)が求められたときにどういった条件だと1100000の2の補数をとる必要があるのでしょうか? ↑の例だとXがどの条件のときでしょうか? 質問が長くなってしまいましたがよろしくお願いします。

  • 一つも問題の意味と答えが理解不能

    三十代ですが、今まで算数をサボりまくったつけが仕事にまわってきて、算数ドリルはじめましたがこのページ全ての問題の意味となぜその答えになるかが一つもわかりません。 わかるのは、たし算、引き算、掛算、割算、分数、小数位のレベルの低学力です。

  • 2進数 計算

    2進数 計算 2進数で表記される数 a=00110110(2)、b=00001110(2)について a-bを求めて2進数で表記しなさい。という問題なんですが この問題の答えを見ると(bの補数)=11110001(2)+00000001(2)=1110010(2) 従ってa-b=00110110(2)+1110010(2)=00101000(2)   00110110 +11110010 100101000 っていうう風に出していたのですがなんでこういう解き方になるんでしょうか? 普通に引き算でa-bを00110110(2)から00001110(2)を引きんじゃないんですかね?

  • コンピュータはなぜ減算ができないのか?

    たとえば コンピュータでは2-1を補数を利用して計算します。 しかし、繰り下がりの概念があれば以下のように 直接計算できるはずです。    0010 -) 0001 -----   0001 元々コンピュータには、繰り下がりに対応する演算回路が ないので、引き算が足し算のように簡潔にできない と思ってよいのでしょうか? また、掛け算は足し算のループを利用して計算しているのでしょうか? 割り算は、2の補数(ビット反転+1)の引き算をループさせて実現しているのでしょうか? ということは、計算のうち割り算が一番時間がかかると思ってよいのでしょうか?

  • 分数の計算の仕方を教えてください

    恥ずかしながら分数の計算(足し算、引き算、割り算、掛け算)のやり方を忘れてしまいました。 今度、派遣の登録にいくのですが、その時に簡単な計算も出るようです。 友人から分数の計算もあったと聞いたので・・・。 正直、約分と通分も怪しいです。 調べてみたのですが、分数の引き算で分からないところがありました。 問題4/5-2/3(5分の4-3分の2)で私が調べたこの問題の計算式は分子と分母に同じ数をかけて 計算過程が5×3/4×3-3×5/2×5(5×3分の4×3-3×5分の2×5)=12/15-10×15(15分の12-15分の10)=2/15(15分の2)となっていました。 同じ数をかけるのは思い出せたのですが、この問題は「3」と「5」を分子と分母にかけていますが、この「3」と「5」がどこから出てきたのかイマイチ理解できなくて困ってます。 分数の計算(足し算、引き算、割り算、掛け算)のやり方と約分・通分を分かりやすく教えてください。

  • 補数と進数

    補数というものがよくわかりません。 参考書を読んだのですが、いまいち理解できませんでした…。 (0111 1110)※2(小さい2は※2と表記します)の2の補数を求めろ、という問題は、どのようにして解けばよいのでしょうか。 また2進数についてなのですが、2進数を用いて(38+18)を計算せよ、という問題があります。 これは、(3×2の1乗+8×2の0乗)+(1×2の1乗+8×2の0乗) =6+8+2+8=14. …で答えは14??と思ったのですが、答えもないのでわかりません; 全然違っていたら是非解き方を教えてください。

  • 2進数の掛け算ができません

    初めまして。2進数の掛け算で困っています。よろしくお願いします。 10進数で2*(-3)=-6ですが、これを3bitの2進数で行ないたいと思います。 すると、010*101(2の補数)=01010となります。 -6は10(2の補数)となるはずですが答えが異なります。 符号拡張というものがあるということで、次はそれで行なってみます。 010*1101(符号を拡張した2の補数)=011010となります。 答えが異なります。ますますわけがわかりません。 ---------- 次に10進数で(-1)*(-1)=1ですが、これを2bitの2進数で行ないたいと思います。 すると、11(2の補数)*11(2の補数)=1001となります。 1は1となるはずですが答えが異なります。 符号拡張というものがあるということで、次はそれで行なってみます。 111(符号を拡張した2の補数)*111(符号を拡張した2の補数)=110001となります。 答えが異なります。ますますわけがわかりません。 ---------- 話は変わるのですが、 Nビット×Mビット=N×Mビットになる とのことです。これも理解できません。 どなたかご教授をお願いしますm(__)m

  • 2進数の理論・・・

    次のような質問をされてしまいうまく説明できなくて困っています・・・ 1.8bitコンピュータにおいて引き算を行う。2の補数を使って行う場合は、どのような流れ図にすればいいか? 2.上の条件で掛け算を行う。計算結果がオーバーフローしないという条件下で、流れ図を作れ・・・ 1.は2の補数を足せばいいということで説明がつくのですが。2.のシフトレジスタかうまく説明できません・・・ 分かりましたら投稿お願いします。 できれば流れ図的なものもよろしく。

  • 小3算数 どの程度まで暗算でできるようにすべき?

     小学3年の算数では,簡単な計算は暗算でできるようにしましょうとあります。そこで質問です。  あなたは,どの程度の計算まで暗算でできるようにすべきだと思いますか,足し算,引き算,掛け算,割り算の順にお願いいたします。  私の考えは次のとおりです。 【足し算】(2桁)+(2桁)【引き算】引く数・答えとも2桁 【掛け算】(2桁)×(1桁)で答えが100以下【割り算】(2桁または100)÷(1桁)で商が2桁

専門家に質問してみよう