Използвайки 2-ия допълващ метод за изваждане, резултатът ми е 1111 (-1 в десетична система), докато в следващия случай трябва да бъде 0
10010
-10010
където и двете стойности се предоставят в двоичен вид.
Отговорът изглежда съвсем очевиден, но следвайки метода на преобразуване на отрицателната стойност в 2 "s complement и след това добавянето му не изглежда да работи в този случай, тъй като резултатът изглежда е 1111.
Благодаря
Отговори:
0 за отговор № 1Изваждането на число от себе си с помощта на 2 "complement" означава добавяне на 2-то си допълнение (изваждане на число се добавя 2-и комплект):
Трябва да знаете размера на думата в бита, за да определите 2-те допълнения, така че нека предположим, че броят на бита в една дума е 8. След това имате 00010010
като първоначалния номер, и 11101110
като неговата 2-и complement.Complex 2 е комплемент 1 (s) (11101101
) с 1
добавен към него.
След това добавете:
00010010 [original number, 18 decimal]
+11101110 [2"s complement, -18 decimal]
---------
00000000 [note: there"s a 1 overflow bit]
0 за отговор № 2
10010 в два допълнения (ако приемем 5 бита две допълнения) е -14 (-16 +2). 14 в два допълни е 01110 (2 + 4 + 8).
10010
-10010
=
10010
+01110
=
00000 (actually 100000, but the 1 is overflowed)