- 締切済み
2進数の計算について
01000111(2)-01101010(2)の計算を補数を用いて求める方法は 01101010を10010101に変更し1を加えて10010110に変更し 01000111 +10010110 =11011101(2)で正しいでしょうか? また答えを10進数に変更する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bururutti-2
- ベストアンサー率40% (10/25)
- himajin100000
- ベストアンサー率54% (1660/3060)
関連するQ&A
- 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の補数を使った計算
ある計算機があり、2の補数を「ビット反転して1を加算する」方法とするときに10進数の計算「100-80」を2の補数を使って計算する場合は16進数で表すと幾つと幾つの加算になるのでしょうか?? 2の補数を使うというのがよくわからないのですが・・・
- ベストアンサー
- その他([技術者向] コンピューター)
- 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進数の表示がわかりません
Q1:負の数(例えば10進数の[-2])を2進数,4ビットで表すには, 1010(MSDの[1]は[-]を表して,後半の3桁は[2])か 1110([0001]の2の補数) どちらが正しいのですか?(学校ではどちらも習いました) またQ2のような計算をするには補数による表示でないとなりませんか?(絶対値に符号をつけるだけだと計算が合いません) Q2:4ビットで表された2進数の計算で 0101-0010=0101+(1110)=10011 となり,答えが5ビットになってしまいます.下4桁で考えると答えが合っている気がします.これで合っていますか?
- ベストアンサー
- 数学・算数
- 【初心者から質問】 2進数の減算について
学校で「アセンブラ言語」について学び始めました。 「2進数の減算」が分かりません。 ・減算は負の数の加算でおこなう。 ・負の数は2の補数であらわす。 ・補数を導き出すには「ビット反転」と「+1」する。 この3つのルールのことは何となくわかります。 では、 0110 1001 -0010 1100  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ の計算の仕方を教えていただきたいです。 0110 1001 -0010 1100  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 1101 0011 (ビット反転) +1101 0100 (+1する)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 自分でやってみましたが、この先がわかりません。 (つまり負の数を加算する部分が分からないです) この先の答えと、計算方法を教えてください。 よろしくおねがいします。
- ベストアンサー
- その他(プログラミング・開発)
- 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
- ベストアンサー
- 数学・算数
- 10進数からの変換なのですが・・・
どうしてもこの598に対する問題の答えが欲しいので、 分かる方、教えてください! お願いします!! 10進数598を2進数に変換すると、((1))になる。 1に対する補数は((2))で2に対する補数は((3))である。 また8進数は((4))で、16進数は((5))である。
- ベストアンサー
- その他(プログラミング・開発)