Hallo, ist eigentlich die Zahl 32768 im Zweierkomplement die -0. Ab >32768 fangen ja erst die negativen an. <32768 sind die positiven. Also muss 32768 ->0 sein
Johann schrieb: > ist eigentlich die Zahl 32768 im Zweierkomplement die -0. Nein. Eine -0 gibt es im Zweierkomplement nicht. > Ab >32768 fangen ja erst die negativen an. Nein, sie fangen ab 32768 an. Im Zweierkomplement entspricht das der -32768.
Johann schrieb: > Aha klingt logisch :-) Ich glaube nicht, das du das verstanden hast :-) Lass uns mal auf 4 Bit Zahlen gehen, dann rechnet es sich leichter. Das Prinzip ist identisch bei allen Bitzahlen. 2-er Komplement bedeutet, dass es 1 Bit gibt, das höchstwertige, welches eine Aussage gestattet, ob die Zahl positiv oder negativ ist. Bit == 0 -> Zahl ist positiv Bit == 1 -> Zahl ist negativ Um das jeweilige Negative einer Zahl zu erhalten wird die Vorschrift ausgeführt: Alle Bits umdrehen (aus 0 wird 1, aus 1 wird 0) und noch 1 addieren die Zahl 0 zb hat mit 4 Bit (1 Signbit + 3 Nutzbits) das Bitmuster 0000 das 2-er Komplement davon ist 0000 Original alle Bits umgedreht 1111 und noch 1 dazu 0000 0 ist also in Binärdarstellung sein eigenes 2-er Komplement Was ist mit den restlichen, zunächst positiven, Zahlen? 001 1 010 2 011 3 100 4 101 5 110 6 111 7 ihre 2-er Komplemente (und damit die jeweilige negative Zahl) lauten 0001 1 -> 1111 -1 0010 2 -> 1110 -2 0011 3 -> 1101 -3 0100 4 -> 1100 -4 0101 5 -> 1011 -5 0110 6 -> 1010 -6 0111 7 -> 1001 -7 nun gibt es aber noch ein mögliches Bitmuster 1000 da das MSB 1 ist, handelt es sich um eine negative Zahl, welche? (um von einer negativen Zahl zur entsprechenden positiven zu kommen, wendet man einfach wieder das 2-er Komplement an) 1000 Original alle Bits umdrehen 0111 und noch 1 dazu 1000 seltsam. Beim erhaltenen Bitmuster handelt es sich um die Zahl die nach +7 kommen müsste. Das wäre eigentlich die +8. Allerdings ist das Ergebnis in 2-er Komplement-Form wieder eine negative Zahl. Das liegt daran, das +8 mit nur 3 Bits nicht darstellbar ist. Als -8 hingegen ist das darstellbar. Das Bitmuster für 1000 passt wunderbar genau in die Reihe der Bitmuster für negative Zahlen als die nächste Zahl nach -7. 1000 ist daher -8 In gewisser Weise ist das Analog zum 0-Fall. 0 ist, genauso wie -8 sein eigenes 2-er Komplement. Der Zahlenbereich aller Zahlen, die in 2-er Komplementdarstellung mit 4 Bits darstellbar ist, lautet daher -8 bis +7 Ja, der ist asymetrisch! In den negativen Zahlen gibt es eine Wert mehr! Dies deshalb weil 0 in 2-er Komplementdarstellung als positive Zahl gewertet wird. Wird das berücksichtigt: dann haben wir 8 Stück negative Zahlen und 8 Stück ( 0 plus 1 bis 7) positive Zahlen.
Johann schrieb: > ist eigentlich die Zahl 32768 im Zweierkomplement die -0. Nur in sign/magnitude Darstellung. Die ist im Fliesskommaformat sehr gebräuchlich, andernorts aber ausgestorben. Ansonsten gibt es eine -0 noch im Einerkomplement, aber das ist noch toter.
A. K. schrieb: > Ansonsten gibt es eine -0 > noch im Einerkomplement, aber das ist noch toter. Als von der Hardware genutzte Darstellung vielleicht, benutzt wird es aber Tag für Tag sehr häufig. Bei der Berechnung von IP-, TCP und UDP-Prüfsummen wird Einerkomplement-Arithmetik verwendet. Andreas
Weiss ich, aber hier ging es nicht um die Arithmetik, sondern um die Zahlendarstellung. Und da ist das Einerkomplement deutlich toter als sign/magnitude. Selbst Seymor Cray war auf seine alten Tage davon abgekommen.
Karl heinz Buchegger schrieb: > Ja, der ist asymetrisch! In den negativen Zahlen gibt es eine Wert mehr! Hallo, das ist ja schon von vornherein klar: für jede Zahlenlänge n gibt es 2^n mögliche Werte, also eine gerade Zahl. Ist eine davon 0, so können die übrigen nicht in 2 gleich grosse Gruppen eingeteilt werden. Bei ternärer Darstellung wäre das anders, 3^4 = 81, da könnte man 0 und je 40 positive und negative Zahlen darstellen. Gruss Reinhard
Reinhard Kern schrieb: > Ist eine davon 0, so können die übrigen nicht in 2 gleich grosse Gruppen > eingeteilt werden. Die Annahme des OP war aber, daß zwei davon die 0 sind.
Rolf Magnus schrieb: > Die Annahme des OP war aber, daß zwei davon die 0 sind. so ganz unvorbereitet aus dem Bauch: eine Gruppe enthält genau ein neutrales Element, und wenn die n-bittigen Zahlen keine Gruppe wären könnte man nicht damit rechnen. Gruss Reinhard
Der Mathematiker rechnet auch nicht im Einerkomplement oder in sign/magnitude Darstellung. Meistens rechnet er garnicht, er weiss nur wie man es tut. Der Computer wiederum interessiert sich für Gruppen nur in der Benutzerverwaltung, weiss glücklicherweise nicht, dass er garnicht rechnen kann und tut es deshalb trotzdem. Tatsächlich gab es noch in den 70ern unter den grossen Eisen welche, die im Einerkomplement arbeiteten und infolgedessen mit zwei Nullen zurecht kommen mussten. Des Rätsels Lösung: Mathematisch existiert nach wie vor nur eine Null, aber diese hat 2 Darstellungen.
Reinhard Kern schrieb: > Rolf Magnus schrieb: >> Die Annahme des OP war aber, daß zwei davon die 0 sind. > > so ganz unvorbereitet aus dem Bauch: eine Gruppe enthält genau ein > neutrales Element, und wenn die n-bittigen Zahlen keine Gruppe wären > könnte man nicht damit rechnen. In dem Fall von +0 und -0 hat die 0 eben zwei Darstellungen. Die Darstellung muss ja nicht eindeutig sein, was allerdings zB beim Test auf Gleichheit zu berücksichtigen ist. Die 0 besteht also aus der Menge {-0, +0}. Ähnliches hat man zB in Z mod n*Z. Wenn man sowas schreibt wie 0 = n (mod n) dann sind diese 0 und n zwei Repräsentanten der gleichen Äquivalenzklasse, nämlich von nZ. die 1 (und ebende n+1 oder 1-n etc, wären Repräsentanten von nZ+1). Zumindest ist das die algebraische Sichtweise. Übrigens kann man auch Rechenoperationen ausführen, wenn es keine Gruppe ist. Beispiel: Float-Arithmetik auf Rechnern. Das ist noch nichtmal ne Halbgruppe, weil idR (a*b)*c ≠ a*(b*c). Dennoch kann man darin rechnen, muss aber die Tücken und Ösen kennen und wissen wie man sie umschifft.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.