Binär Addieren

Meniskusschaden

Top Contributor
hättest auch unter Wikipedia nachschlagen können :D :D :D
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.
und hier
Wikipedia hat gesagt.:
Positive Zahlen werden in der Zweierkomplementdarstellung mit einer führenden 0 (Vorzeichenbit) versehen und ansonsten nicht verändert.
Wenn das Zweierkomplement eine Darstellungsweise für (ausschließlich) negative Werte wäre, dürfte es darin doch keine Darstellung positiver Werte geben.
 

mihe7

Top Contributor
Einverstanden, aber warum sollte man dann extra in der Aufgabe darauf hinweisen? Dann kann ich auch einfach zwei positive Zahlen addieren.
 

Meniskusschaden

Top Contributor
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?
 

TM69

Bekanntes Mitglied
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.
Lass dich nicht von mir oder Wikipedia überzeugen. Ich lasse hier einen Prof sprechen, du kannst ihm gerne wiedersprechen :D

Seite 44:
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:
Kannst ja immer noch ein Änderungsvorschlag im Wikipedia einreichen
 

temi

Top Contributor
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.
 

mihe7

Top Contributor
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 :D
 
Zuletzt bearbeitet:

temi

Top Contributor
Aus einer 01001 (5) wird im Einerkomplement 10110 (-5) und im Zweierkomplement 10111.
Grübel. Häh? 01001 ist doch nicht 5, sondern eher 9, oder?

Die Komplemente dienen doch einzig und allein dem Zweck, negative Zahlen darzustellen.
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.
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Grübel. Häh? 01001 ist doch nicht 5, sondern eher 9, oder?
OMG, ich leg mich am besten wieder hin... Das ist ja schrecklich heute.

EDIT: Vermutlich sollte man unterscheiden zwischen der arithmetischen Operation 1/2-Komplement und der 1-Komplement-Darstellung (respektive 2-Komplement-Darstellung) von Zahlen.
Das könnte natürlich sein... 1-Komplement und 2-Komplement behandelt und daher der explizite Hinweis auf die 2-Komplement-Geschichte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Binär zu Dezimal Java Basics - Anfänger-Themen 16
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
A Dezinal in Binär Recursiv Java Basics - Anfänger-Themen 6
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
J Dezimal in Binär (Array) Java Basics - Anfänger-Themen 2
F Erste Schritte Binär zahle auf 8 stellen aufüllen Java Basics - Anfänger-Themen 2
Orkanson Long Binär darstellen Java Basics - Anfänger-Themen 1
W Dezimalzahl in Binär umwandeln - Was sollte ich an meinem Programm verbessern? Java Basics - Anfänger-Themen 5
L String in Binär umwandeln Java Basics - Anfänger-Themen 4
Z Dezimal > Binär-Umrechnung Logikfehler? Java Basics - Anfänger-Themen 8
K Erste Schritte Dezimal in binär Java Basics - Anfänger-Themen 17
S Umwandlung Binär in Dezimal (ohne array etc.) Java Basics - Anfänger-Themen 6
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
V Binär in Dezimal Java Basics - Anfänger-Themen 4
T Erste Schritte Nachkommstellen in Binär mit Vekotoren Java Basics - Anfänger-Themen 3
S Umrechner (Dezimal, Hexadezimal und Binär) Java Basics - Anfänger-Themen 3
M hexadezimal in binär mit Hilfe von Shift-Operatoren Java Basics - Anfänger-Themen 6
R Dezimalzahlen zu Binär Java Basics - Anfänger-Themen 3
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S binär string Java Basics - Anfänger-Themen 10
N Binär suchen: Java Basics - Anfänger-Themen 4
E Methoden umrechnung binär/oktal/hexadezimal in dezimalsystem (Methode) Java Basics - Anfänger-Themen 1
A double and add algorithmus für elliptische kurven/ integer binär darstellen Java Basics - Anfänger-Themen 14
K Binär Logisch Und, logisch Oder, subtrahieren Java Basics - Anfänger-Themen 8
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
C dezimal in binär Java Basics - Anfänger-Themen 3
eLogic .txt Testdatei to Binär Java Basics - Anfänger-Themen 2
M Binär -> Dezimal Java Basics - Anfänger-Themen 11
N Umrechung Binär in Dezimal und Hexadezimal Java Basics - Anfänger-Themen 7
F Hex zu Binär Java Basics - Anfänger-Themen 7
Shanks Problem bei Binär überprüfung Java Basics - Anfänger-Themen 3
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
B Dezimal Binär? Java Basics - Anfänger-Themen 10
H Java Double in Binär, Hex oder Octalzahl wandeln Java Basics - Anfänger-Themen 3
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
N Binär Datei kopieren Java Basics - Anfänger-Themen 2
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
T longs binär verarbeiten Java Basics - Anfänger-Themen 4
G Objekte binär speichern und später wieder einlesen? Java Basics - Anfänger-Themen 7
G char[] binär schreiben? Java Basics - Anfänger-Themen 2
V Binär + Hexadezimal Java Basics - Anfänger-Themen 3
V String mit Hexadezimalzahlen in Binär umwandeln Java Basics - Anfänger-Themen 2
A Binär-Datei versenden übers Internet Java Basics - Anfänger-Themen 2
C Hilfe bei Umrechnung von dezimal nach binär Java Basics - Anfänger-Themen 9
R String nach Binär-Form Java Basics - Anfänger-Themen 3
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
B Primzahlen bis 100 addieren Java Basics - Anfänger-Themen 16
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
S Arraywerte quadrieren und danach addieren Java Basics - Anfänger-Themen 11
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
G Array Werte addieren Java Basics - Anfänger-Themen 4
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
K Subklassen mit einzigem Befehl addieren Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
M Addieren von Polynomen Java Java Basics - Anfänger-Themen 22
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
W Parameter solange addieren bis 13 auftaucht Java Basics - Anfänger-Themen 11
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
G OOP- Brüche addieren Java Basics - Anfänger-Themen 3
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
J Zahlen addieren Java Basics - Anfänger-Themen 12
S Zahlenstrings addieren Java Basics - Anfänger-Themen 6
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
ArkHeat Erste Schritte Zwei 2-dimensionale Matritzen addieren Java Basics - Anfänger-Themen 0
reza_4247 addieren Nummern Java Basics - Anfänger-Themen 7
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
Viktormk Methoden Gleitpunktzahlen nach IEEE 754 addieren ! Java Basics - Anfänger-Themen 1
J Arrays erstellen und dann addieren Java Basics - Anfänger-Themen 19
S int addieren geht nicht Java Basics - Anfänger-Themen 13
N Kalender - Tag addieren gibt 31. Juni zurück Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
I Werte zu existierendem int addieren Java Basics - Anfänger-Themen 4
Silvascus Erste Schritte Werte innerhalb eines Arrays addieren Java Basics - Anfänger-Themen 3
C Java Eingabeaufforderung-Basic Zwei Zahlen addieren Java Basics - Anfänger-Themen 2
S ArrayList Gruppieren, "Doppelte Werte" Addieren Java Basics - Anfänger-Themen 5
M Arrays addieren Java Basics - Anfänger-Themen 2
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
V addieren der ausgabewerte Java Basics - Anfänger-Themen 6
C OOP Probleme beim Addieren von Arrays Java Basics - Anfänger-Themen 4
B Vektor addieren Java Basics - Anfänger-Themen 4
G Summen addieren und Durchschnitt bilden Java Basics - Anfänger-Themen 4
A Erste Schritte aufeinanderfolgende Zahlen addieren Java Basics - Anfänger-Themen 5
J Methoden Einzelne Objekte eines Vectors addieren Java Basics - Anfänger-Themen 10
L Vom Benutzer eingebene Integer addieren und ausgeben. Java Basics - Anfänger-Themen 11
K Rekursion gerade Zahlen addieren Java Basics - Anfänger-Themen 11
M Zweidimensionales Array um 1 addieren Java Basics - Anfänger-Themen 3
J Objektwerte addieren / Konstruktor Java Basics - Anfänger-Themen 19
J arrays miteinander addieren Java Basics - Anfänger-Themen 11
L Erste Schritte Programm Bestellung/Rechnung addieren Java Basics - Anfänger-Themen 3
T Zahl addieren problem Java Basics - Anfänger-Themen 1
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
R Scanner-Eingaben addieren Java Basics - Anfänger-Themen 5
putinator Mehrdimensionale Array addieren Java Basics - Anfänger-Themen 10
Eileen Brüche addieren in Zwei Klassen mit JOptionPane Java Basics - Anfänger-Themen 4
K double Arrays addieren Java Basics - Anfänger-Themen 5
L Durchgang addieren Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben