Beweise: Aus der Darstellung von d erhält man die Darstellung von -d durch Komplementieren
aller Bits
Ansatz d + -d=0 Komme aber mit dem Beweis nicht weiter.
hi, es ist schon ne zeit her, aber ich würde sagen um zu beweisen das d auch -d darstellt und du von folgendem ansatz ausgehst : d + (-d) = 0 musst du ja nur die beiden zahlen subtrahieren um zu sehen ob 0 rauskommt?!?
sagen wir d = 4 (0000 0100) also muss 4 + -4 = 0 sein
für -4 verwende ich das MSB als Vorzeichenbit
0000 0100 + 1000 0100 = 0
bilde das einerkomplement (die bits invertieren)
1111 1011 + 0111 1011 = 0
danach bildest du das zweierkomplement (aufgrund des neg. vorzeichens), dafür musst du nur "1" addieren
1111 1100 + 0111 1111 = 0
und dann sollts das gewesen sein, denn
1111 1100
+ 0111 1111
=1 0000 0000
der überlauf wird beim komplementieren ignoriert bzw abgeschnitten
ich hoffe ich hab deine frage richtig verstanden und die antwort hilft
0111 1111 ?? Es ist die Zahl 127 egal wie man dreht und wendet.
Die vier sollte so aussehen: BYTE 0000 0100
Die Summe ist leider nicht korrekt
1111 1100 + // DEC -4 (Wenn man BYTE annimmt)
0111 1111 // DEC +127
Übertrag: 1 1111 1000 // (Überlauf)
___________
Summe: 0111 1011 // DEC +123
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 + Übertrag 1
0 + 1 + Übertrag 1 = 0 + Übertrag 1
1 + 0 + Übertrag 1 = 0 + Übertrag 1
1 + 1 + Übertrag 1 = 1 + Übertrag 1
Ich war nie auf ähnlicher Schule wie ihr beiden, aber so viel kann ich noch programmieren.
Ich würde unbedingt noch die Einheiten angeben.
Man könnte 1111 1100 missverstehen als WORD, DWORD, QWORD!
0000 .... 1111 1100 = 252 (nur als BYTE ist es -4)
In den meisten Programmiersprachen entsprechen diese:
BYTE = BYTE ( 8 Bit)
WORD = INT16 (16 Bit)
DWORD = INT32 oder Integer, INT (32 Bit)
QWORD = INT64 oder Long Integer (64 Bit)
Ich würde eher etwas in dieser Richtung schreiben:
QWORD -D = FFFF FFFF FFFF FFFC + // DEC -4
QWORD +D = 0000 0000 0000 0004 // DEC +4
Übertrag: 1 1111 1111 1111 1110 // (Überlauf)
_____________________
Summe: 0000 0000 0000 0000 // DEC 0
Ich hoffe nicht zu viel Verwirrung gestiftet zu haben.
Diese Aufgabe gibt mir kein Ruhe. Hier noch ein Nachtrag:
Zuerst wollen wir die Zahl -4 als Zweikomplement darstallen.
Diese Methode ist bei Wikipedia beschrieben. ()
1. Vorzeichen ignorieren und ins Binärsystem umrechnen
2. Bits Invertieren
3. Eins addieren
1. DEC 4 = BYTE 0000 0100
2. NOT[BYTE 0000 0100] = BYTE 1111 1011
3. BYTE 1111 1011 + BYTE 0000 0001 = BYTE 1111 1100
Nun addieren wir die Zahlen -4 und 4
BYTE 1111 1100 + // DEC -4
BYTE 0000 0100 // DEC +4
Übertrag: 1 1111 1000 // (Überlauf)
___________
Summe: BYTE 0000 0000 // DEC 0
BEWEIS: BYTE 1111 1100 + BYTE 0000 0100 = 0