Prüfsummenberechnung

Dr Franke Ghostwriter
ich versuche gerade, eine Prüfsumme durch Addition der Binärzahlen zu berechnen (um nicht nur den Weg mit Umrechnung in dezimal zu können). beispiel auf EA 3 Kurs 20047 Aufgabe 3.7

Gegeben sind die Wörter

1) 11000111 = -56
2) 00111011 = 59
3) 10010101 = 106
4) 00111111 = 63
5) 11101111 = -16
6) 11000100 = -59

Hier meine Rechnung:

Schritt 1: Ich rechne zunächste jeweils zwei Zahlen zusammen. ist umständlich, aber für mich übersichtlicher, anstatt 6 Zahlen mit Einmal zu addieren)

11000111 (1)
+ 00111011 (2)
------------------
= (1) 00000010 ==> Ergebnis 1

10010101 (3)
+ 00111111 (4)
--------------
= 11010100 ==> Ergebnis 2

11101111 (5)
+ 11000100 (6)
-----------------
= (1)00110011 ==> Ergebnis 3


Schritt 2: Dann addiere ich Ergebnis 1 zu Ergebnis 2 und diese Summe dann zu Ergebnis 3.

00000010 (Erg. 1)
+ 11010100 (Erg. 2)
-----------------------
= 11010110
+ 00110011 (Erg. 3)
-----------------------
= (1) 00011001

Schritt 3: Übertrag dazu addieren

00011001
+ 111
--------------
= 00100000


Ich kommen somit nicht auf die Lösung -115, wie in der EA angegeben.

Hoffe, jemand hat einen Tipp, wo hier mein Rechenfehler liegt... oder eine andere Vorgehensweise? ´... außer Umrechnung in Dezimal 🙂

Grüße
 
Irgendwie habe ich das damals im Skript schon nicht verstanden mit den Prüfsummen...und dann vernachlässigt - jetzt muss ich es mal nachholen...

Ich komme dezimal schon auf völlig andere Zahlen.
wie ich es auch drehe und wende, für mich ist 11000111= 199 u.s.w.

Kann mir jemand nochmal kurz auf die Sprünge helfen bzgl. Einerkomplement etc. ?

Gruß & Viel Erfolg an Alle...
Dennis
 
das erste Bit ist das Vorzeichenbit, wenn 1 => negativ, wenn 0 => positiv.

Beispiel 11000111

Beim 1er-Komplent rechne ich so: -127 + 64 + 4 + 2 + 1 = -56

Beim 2er-Komplement reche ich so: -128 + 64 + 4 + 2 + 1 = -57

Grund ist, wenn ich das richtig verstanden habe, die doppelte Null, d.h. es gibt eine positive 0 = 00000000 und eine negative 0 = 11111111

Grüße
 
Hm, wenn ich das richtig verstehe, müsste dann nicht
10010101 = -106 sein?

Naja - mir brummt der Kopf - ich lerne schon seit den frühen Morgenstunden...
Ich glaube, ich mache erstmal Pause, schaue eine Folge Big Bang Theory, trinke 'nen Kaffee und dann geht's weiter
 
Schau dir die Binärzahl an und guck die erste Stelle an. Ist es eine 0, dann einfach in Dezimal umwandeln. ISt es eine 1, dann rechnest du erst das 1-er Komplement aus. Also Beispiel: 1100011. Vorne eine 1, also negativ. Dann wandel ich das einfach um, also suche das 1er-Komplement dazu: 0011100 -> Davon jetzt die Dezimalzahl -> 56. Da es eine negative Zahl ist, setz ich jetzt nur noch das - davor und fertig. 1100011 -> -56
Das mach ich mit allen Zahle und addiere die. Zum Schluss dann nur noch in Binärzahl umwandeln und fertig.
 
Oben