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

2進数「0110-0011」の計算方法を教えてください。

A 回答 (7件)

0110-0011→一の位 10-1=0001


010-001→十の位10-1=0011
00-00→百の位0-0=0011
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2021/05/26 16:08

難しくは無いんだけどねえ。

「2進数「0110-0011」の計算方法を」の回答画像7
    • good
    • 1

0100


-0011
--------

・・・と見た方が直感的に分かりやすいでしょう。
10進数は0から9の数字を使い、9の次が桁上がりをして10です。
これに対し2進数は0と1しか使わず、1の次が桁上がりをして10です。

で、最初に書いた計算式の一番右側、最も下の位の計算です。
0から1を引くことは出来ないので1つ上の桁から借りて来て1を引きます。よって余りは1ですからこの桁の答えは1。

次はその上の桁。
ここは0ですが、先の一眼下の計算で1を貸した桁ですから実はもう一桁上から借りて来て下に1を貸し出したことになります。よってこの時点では1になっています。そこから1を引くのでこの桁の答えは0。

更に次の桁。
ここは元々1ですが、上で書いた通り実は一番下の桁の計算の際に下の桁に値を貸し出しているのでこの時点での値は0。0-0ですからこの桁の答えは0。

で、一番上の桁は元々両方0なので0-0で0。

ということで0100 - 0011の答えは0001。

[補足]
検算をしましょう。
0011に1を加えます。
最下位は1+1で桁上がりして最下位の値は0。
その上は下の桁から1桁上がりしてきて1+1となりここも桁上がりしてこの位の値は0。
で更にその上も下から桁上がりして来たので0+1で1。
最上位は0のまま。
よって0100となり検算終了。

参考まで。
    • good
    • 0

下記と同じ方ですか?


違うなら、数値は違うけど考え方は同じなので、参考にしてください。

https://oshiete.goo.ne.jp/qa/12376273.html

ちなみに、やって差し上げれば、お示しの式は「4ビットの2進数」という条件で
 0011[2]
の負数を「2の補数」で表わせば

 0011
  ↓  「0」と「1」を逆転させる。
 1100
  ↓  1 を加えて「2の補数」にする。
 1101 ← これが「0011」の負数

(なぜなら
 0011 + 1101 = 1 0000
「4ビットの2進数」という条件なら「5ビット目」は「桁あふれ」で消えるので
= 0000
足して「0」になるのだから、一方は他方の「負数」ということ)

「引き算」を「2の補数を使った足し算」で行うと
 0110[2] - 0011[2]
= 0110[2] + 1101[2]
= 1 0011[2]
「5ビット目」は「桁あふれ」で消えるので
= 0011[2]
(= 3[10])

ということになります。
 0110[2] - 0011[2]
= 6[10] - 3[10]
= 3[10]
なので、合ってますよね?
    • good
    • 0

0110と0011を10進数に換算して差を取って、再度2進数にします。


0110=0x2³+1x2²+1x2¹+0x2⁰=6
0011=0x2³+0x2²+1x2¹+1x2⁰=3
6-3=3
3を4桁の2進数で表すと、
3=0x2³+0x2²+1x2¹+1x2⁰=0011
    • good
    • 0

単にテクニックの話をするなら、


ひく数の補数に1を加えたものを足す(桁あふれは無視)のが楽です。

0011 の補数は 1100 で1を加えると1101になり
0110+1101=10011 桁あふれをむしして 0011 

十進数で言うと6-3=3ということですね。
    • good
    • 0

ひっさんにして考えてください。


繰り下げは2です
    • good
    • 1

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