Operatoren Subtraktion von Dualzahlen Vorzeichen/Betrag

Hallo,

auch wenn das keine direkt auf Java bezogene Frage ist, so hoffe ich doch, dass man mir hier weiterhelfen kann...

Wenn ich zwei Dualzahlen a und b, die mittels Vorzeichen/Betrag, dargestellt sind (d.h. Bit ganz links = 0 -> positiv, Bit ganz links = 1 -> negativ) voneinander subtrahiere, wobei b betragsmässig größer ist, klappt meine Rechnung irgendwie nicht.

a = 01001 (Dezimal +9)
b = 11100 (Dezimal -12)

Hier müsste ja -3 rauskommen.

01001
11100
=====
11101

Von rechts nach links 1-0 = 1, 0-0 = 0, 0-1 = 1 Übertrag 1, 1-1-1 = 1 Übertrag 1

Hier kommt jedoch 11101 raus, d.h. Dezimal -13 statt 10011 für -3

Hat da jemand ne Idee woran das liegen kann?

Die Berechnung von Dezimal 3 und Dezimal -7 klappt hingegen problemlos in der o.g. Darstellung (3-7 = -4 = 1100

Obwohl B auch vom Betrag größer ist als a

a = 0011
b= 1111

0011
1111
==========
1100

Von rechts nach links 1-1=0, 1-1=0, 0-1 = 1 Übertrag 1
(siehe auch 403 Forbidden)

Wo liegt mein Fehler in der ersten Rechnung?
 

Thallius

Top Contributor
Es fängt schonmal damit an, dass

9 - (-12) nicht -3 ergeben sollte und deshalb auch 3 - (-7) nicht -4.

Auch sonst kann das so gar nicht funktionieren.

Gruß

Claus
 
Hmm. Wie addiere/subtrahiere ich denn dann Zahlen in der Vorzeichen/Betrag Darstellung bitweise? Das zur Subtraktion meist auf die Addition der Komplemente zurückgegriffen wird soll jetzt hier mal nicht zur Debatte stehen.
 

Thallius

Top Contributor
Also wenn du "richtige" Dualzahlen hast, dann ist

1111 nicht -7 sondern -1. Vorrausgesetzt Du hast ein 4-Bit System.

Du kannst nicht einfach sagen das linkeste Bit ist Vorzeichen. Du must erstmal festlegen wieviel Bit dein System hat. Dann ist immer das höchste bit das Vorzeichenbit. Und wenn das gesetzt ist, dann ist der Wert immer 2^(bitanzahl-1)-untereBits.

Gruß

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Lion.King Subtraktion nach Eingabe im Terminal Java Basics - Anfänger-Themen 7
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
H Quotient durch Subtraktion bestimmen Java Basics - Anfänger-Themen 12
T Operatoren Multiplikation nur mit Addition, Subtraktion und Vergleich Java Basics - Anfänger-Themen 29
S Multiplikation durch Addition, Subtraktion und Vergleich von Zahlen Java Basics - Anfänger-Themen 14
J Subtraktion von double Werten Java Basics - Anfänger-Themen 3
K Erste Schritte Fehler bei der Subtraktion Java Basics - Anfänger-Themen 4
O Methode - Problem mit Subtraktion in einer while-Schleife Java Basics - Anfänger-Themen 2
M Ausgabe einer gerade Zahl nur mit Addition,subtraktion und vergleichsoperatoren! Java Basics - Anfänger-Themen 4
M Datentypen Double Maxvalue Subtraktion Java Basics - Anfänger-Themen 7
D Ungenaue Subtraktion Java Basics - Anfänger-Themen 7
H Subtraktion mittels Negierung auf Addition zurückführen Java Basics - Anfänger-Themen 4
F mit Dualzahlen rechnen Java Basics - Anfänger-Themen 5
J Rechnen mit Dualzahlen Java Basics - Anfänger-Themen 5
G Long oder int Vorzeichen entfernen Java Basics - Anfänger-Themen 3
S vorzeichen Java Basics - Anfänger-Themen 5
T vorzeichen wechsel bei int Java Basics - Anfänger-Themen 10
J integer vorzeichen umdrehen? Java Basics - Anfänger-Themen 2
Y Vorzeichen umdrehen Java Basics - Anfänger-Themen 13
G vorzeichen anzeigen. decimalpunkt. Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben