Wenn ich das Zweierkomplement einer negativen Zahl berechne, bekomme ich eine positive. Und das soll dann kein Zweierkomplement mehr sein?
Ich hätte das Zweierkomplement eher als eine Darstellungsmöglichkeit vorzeichenbehafteter Ganzzahlen aufgefasst, zu denen eben auch die positiven Werte gehören. Insofern gefällt mir der Wikipedia-Artikel nicht. Ich finde ihn teilweise sogar widersprüchlich, z.B. hier
Wikipedia hat gesagt.:
Das Zweierkomplement (auch 2-Komplement – verallgemeinert b-Komplement (b Basis) –, Zweikomplement, B(inär)-Komplement, Basiskomplement, two’s complement) ist eine Darstellungsweise für negative Integer-Zahlen im Dualsystem, die keine zusätzlichen Zeichen wie + und − benötigt.
Wenn das Zweierkomplement eine Darstellungsweise für (ausschließlich) negative Werte wäre, dürfte es darin doch keine Darstellung positiver Werte geben.
Das finde ich auch etwas unglücklich und vielleicht auch widersprüchlich zu dem Screenshot aus #12. Möglicherweise einfach ein blöde Aufgabenstellung? Oder der Prof wollte, das man sich genau darüber mal Gedanken macht?
Wenn ich das Zweierkomplement einer negativen Zahl berechne, bekomme ich eine positive. Und das soll dann kein Zweierkomplement mehr sein?
Ich hätte das Zweierkomplement eher als eine Darstellungsmöglichkeit vorzeichenbehafteter Ganzzahlen aufgefasst, zu denen eben auch die positiven Werte gehören. Insofern gefällt mir der Wikipedia-Artikel nicht. Ich finde ihn teilweise sogar widersprüchlich, z.B. hier
und hier
Wenn das Zweierkomplement eine Darstellungsweise für (ausschließlich) negative Werte wäre, dürfte es darin doch keine Darstellung positiver Werte geben.
Zahlendarstellung im Zweierkomplement Zahlendarstellung im Zweierkomplement
Wie vorzeichenlose Binärdarstellung, aber …
msb hat nun einen Wert von
Kleinste negative 4b Zahl :
msb gibt immer noch das Vorzeichen an
1=negativ, 0=positiv
Wertebereich einer
N-bit Zweierkomplementzahl:
Technische Grundlagen der Informatik - Kapitel 1 - Prof. Andreas Koch |
Wertebereich einer
N bit Zweierkomplementzahl:
Wenn ich das Zweierkomplement einer negativen Zahl berechne, bekomme ich eine positive. Und das soll dann kein Zweierkomplement mehr sein?
Ich hätte das Zweierkomplement eher als eine Darstellungsmöglichkeit vorzeichenbehafteter Ganzzahlen aufgefasst, zu denen eben auch die positiven Werte gehören. Insofern gefällt mir der Wikipedia-Artikel nicht. Ich finde ihn teilweise sogar widersprüchlich, z.B. hier
und hier
Wenn das Zweierkomplement eine Darstellungsweise für (ausschließlich) negative Werte wäre, dürfte es darin doch keine Darstellung positiver Werte geben.
Ich stimme dir zu. Die 1-Komplementdarstellung umfasst nur positive Zahlen, negative Zahlen müssten mit einer zusätzlichen Kennzeichnung versehen werden. In der 2-Komplementdarstellung können sowohl positive als auch negative Zahlen dargestellt werden.
Das generelle Problem ist natürlich das man der binären Zahlendarstellung nicht entnehmen kann, ob es sich um 1-Komplement oder um 2-Komplement handelt, es sind ja einfach nur Einsen und Nullen (und die führende Eins kann entweder eine große positive Zahl bedeuten oder eine kleinere Negative). Das muss vorher definiert werden (für die eingangs erwähnte Aufgabe wurde es auch definiert).
Es müssen also zwei beliebige Zahlen (Positiv oder Negativ) im 2-Komplement miteinander addiert werden, um das gewünschte negative Ergebnis zu erhalten.
Die 1-Komplementdarstellung umfasst nur positive Zahlen, negative Zahlen müssten mit einer zusätzlichen Kennzeichnung versehen werden. In der 2-Komplementdarstellung können sowohl positive als auch negative Zahlen dargestellt werden.
Hä? Die Komplemente dienen doch einzig und allein dem Zweck, negative Zahlen darzustellen. Der Unterschied zwischen 1- und der 2-er Komplement besteht doch nur darin, dass es beim 1-er Komplement ein -0 gibt, was beim 2-er Komplement durch die Addition von 1 verhindert wird.
Ich sehe das so: es gibt vorzeichenlose und vorzeichenbehaftete Zahlen. Bei vorzeichenbehafteten ist die Frage, wie negative Zahlen dargestellt werden. Dafür gibt es verschiedene Möglichkeiten, z. B. die Darstellung im Einer- oder Zweierkomplement. Aus einer 01001 (5) wird im Einerkomplement 10110 (-5) und im Zweierkomplement 10111. Umgekehrt wird aus einer -5 im Einerkomplement, die selbe positive 01001 wie aus der -5 im Zweierkomplement. Da die positiven Zahlen immer identisch dargestellt werden, macht für mich eine Unterscheidung in bzw. Hervorhebung der Einer-/Zweierkomplementdarstellung wenig Sinn.
EDIT: andererseits kann man natürlich behaupten, dass das Zweierkomplement zur Darstellung vorzeichenbehafteter Zahlen verwendet wird, was die positiven Zahlen mit einschließt... gut, ich nehme alles zurück und behaupte das Gegenteil
Aber ich bin zur Einsicht gekommen, dass ich mich wohl geirrt habe. Ist auch schon eine Weile her, dass ich das mal gelernt habe. 1-Komplement bedeutet die bitweise Negation aller Stellen und dient natürlich zur Darstellung negativer Zahlen, für das 2-Komplement wird noch 1 addiert. Du hast damit vollkommen Recht (außer mit der 5).
Der Punkt bleibt allerdings, dass es allein aus dem Bitmuster, wie z.B. 1011, nicht erkennbar ist, ob es sich um die Dezimalzahl 11, -5 oder -4 handelt. Insofern muss vorher festgelegt werden, dass es sich z.B. um die 2-Komplement-Darstellung handelt dann ist für 1011 sicher, dass es sich um eine negative Zahl handelt und welchen Wert sie hat (-5). Und damit ist auch der Wertebereich festgelegt, der damit sowohl negative als auch positive Zahlen umfasst.
EDIT: Vermutlich sollte man unterscheiden zwischen der arithmetischen Operation 1/2-Komplement und der 1-Komplement-Darstellung (respektive 2-Komplement-Darstellung) von Zahlen.
EDIT: Vermutlich sollte man unterscheiden zwischen der arithmetischen Operation 1/2-Komplement und der 1-Komplement-Darstellung (respektive 2-Komplement-Darstellung) von Zahlen.