Wie subtrahiere ich 0 - 1 binär?

Erste Frage Aufrufe: 580     Aktiv: 10.11.2021 um 17:39

0

Mal angenommen, man hätte 8 bits zur Verfügung. Dann wäre die 0 in Binärschreibweise 00000000. Nun will ich -1 rechnen. Theoretisch müsste dann -1 (dezimal) rauskommen. Im Zwier-Komplement würde man einfach die 00000001 invertieren und anschließend +1 dazu addieren, sodass 11111111 rauskommt. Aber kann man auch irgendwie schriftlich 00000000-1 rechnen, wie man es in der Grundschule gelernt hat? Die erste 0 kann man nicht mit 1 verrechnen, deswegen muss man sich eine 1 von weiter links borgen. Jedoch gibt es bei 00000000 logischerweise keine einzige 1. Wie rechne ich dann weiter oder geht das nicht und man muss das Zweier-Komplement anwenden?

Diese Frage melden
gefragt

Schüler, Punkte: 10

 
Kommentar schreiben
1 Antwort
0

Hallo katano, alles genau richtig. 0 - 1 = 1 borge 1 links. Dann steht da wieder 0 -(geborgte) 1 = 1, borge 1 links usw. Am Ende sind dann alle 8 Bit 1 und du hast dann eins zusätzlich geborgt. Das steht dann im Carry Bit des Prozessorstatuswort und wird, wenn nötig, bei der nächsten Rechenoperation mit verwurstet. Dann hast Du bei der nächsten, ersten Operation 3 Bits zu verrechnen. Zwei der Rechenoperation und das Carry. So kannst du dann auch mit einem 8 Bit Rechner 32 Bit Operationen ausführen.

Beispiel:

 Minuend      0000
 Subtrahend  -0001
 Boregebits  -111-
 Ergebnis     1111

Gruß jobe.

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben