Seite 1 von 1

B - Komplement, Hilfe

Verfasst: 4. Mai 2014, 22:20
von Cell-i-Zenit
yop leute,

ich bin einfach zu dumm grade^^

wie subtrahiert man 2 hexadezimale zahlen?

2A3A
- FFF3
_______
???

kann mir das wer bitte schritt für schritt erklären?

weil wenn ich jetzt einfach mal A - 3 rechne ... dann ist das für mich 10 - 3 = 7 ... aber wenn ich das in einen hexadezimalrechner eintippe kommt das hier als gesamtergebnis raus: -d5b9 dafuq ? 9 ? A ist doch 10 ?

Re: hexadezimale zahlen subtrahieren ...

Verfasst: 4. Mai 2014, 23:07
von bwoebi
Zur Info: A - 13 = -9 (Zehnersystem: 10 - 19 = -9) … Daher auch die 9.

Du kannst hier halt nicht ganz so rechnen wie du es im Dezimalsystem gewohnt bist… Also kleiner Trick:

Du hast ein negatives Resultat. Also versuch einfach ein positives Zwischenergebnis rauszukriegen:
2A3A - FFF3 = - (FFF3 - 2A3A)

und dann kannst du:

Code: Alles auswählen

  FFF3
- 2A3A
______
  D5B9
noch ein Minuszeichen davor: -D5B9



Theoretisch könntest du auch einfach immer 10 ausborgen zum Rechnen und das nächste mal wieder hinzufügen (Ähnlich wie im Dezimalsystem, halt nur leicht anders):

Code: Alles auswählen

   2A3A
-  FFF3
______
-      9
-   1B0
-  1400
- 1C000
+ 10000 (Überhang wieder hinzuaddieren)
______
- D5B9
A - 13 (Immer 10 mehr) = -9
3 - 1F + 1 (Überhang) = -1B
A - 1F + 1 = -14
2 - 1F + 1 = -1C

Re: hexadezimale zahlen subtrahieren ...

Verfasst: 5. Mai 2014, 02:14
von Krieger2
Achja da werden Erinnerungen an das erste Semester wach^^

Sollte bei dir bei der ersten Variante die Frage aufkommen, warum

Code: Alles auswählen

  3
- A = 9 ist und nicht 3:
Im Dezimalsystem bist du es gewohnt immer 10 auf die obere Ziffer draufzurechnen, wenn die untere Ziffer größer ist. Da du jetzt aber im Hexadezimalsystem bist rechnest du nicht 10 dazu, sondern 16. Im Dezimalsystem wäre deine Rechnung also: 3 + 10 - A (10) = 3
Hier musst du nun aber 3 + 16 - A (10) = 9 rechnen.

Wenn du also beachtest, dass du, egal in welchem Stellenwertsystem, diese "10 mehr, wenn die obere Ziffer kleiner ist" ersetzt, indem du bedenkst, dass es in anderen Stellenwertsystemen eben nicht "10 mehr" sind, sondern immer so viel mehr, wie das Stellenwertsystem, in dem du rechnest (hier also 16), kannst du abgesehen davon genau so rechnen, wie du es kennst. Sollte ein negatives Ergebnis rauskommen, wandel die Rechnung vorher so um, wie es bwoebi beschrieben hat und du wirst auch nicht mehr das Problem haben, das du in diesem post beschrieben hast.

Wenn du die Erklärung gar nicht gebraucht hast, dann bist du auf einem guten Weg ein Verständnis für dieses Themengebiet zu entwickeln.

Alternativ wandelst du heimlich ins Dezimalsystem um, rechnest dort wie immer und wandelst dann das Ergebnis wieder in das Hexadezimalsystem um. Ist leider zeitaufwendig, aber weniger fehleranfällig. Was aber natürlich nicht Sinn der Sache sein sollte ;) (Hat mir damals in der Klausur dennoch 2 Punkte eingebracht. Ein hoch auf unpräzise gestellte Aufgaben^^)

Re: hexadezimale zahlen subtrahieren ...

Verfasst: 5. Mai 2014, 18:44
von Cell-i-Zenit
Krieger2 hat geschrieben: Im Dezimalsystem bist du es gewohnt immer 10 auf die obere Ziffer draufzurechnen, wenn die untere Ziffer größer ist. Da du jetzt aber im Hexadezimalsystem bist rechnest du nicht 10 dazu, sondern 16.

Die untere Zahl ist aber nicht größer? A ist doch größer als 3 ? A ist 10 ? und 10 ist größer als 3 ? :/

meine Schritte für diese Rechnung wären:

2A3A
-FFF3
A - 3 = 10 - 3 (wieso zur Hölle muss ich da noch was drauf rechnen?) man nimmt doch die obere Zahl als "Basis" und zieht davon die untere ab?


wenn ich das so mache wie bwoebi:
FFF3
-2A3A
___9
__B
_5
D
-D5B9

3 - A = 19 - 10 = 9
F - (3+1) = 15 - 4 = 11 = B
F - A = 15 - 10 = 5
F - 2 = 15 - 2 = 13 = D
dann halt noch das Minus davor

das klappt. Aber ich verstehe halt wirklich nicht den Gedankengang wenn das "anders rum" ist ?

Re: hexadezimale zahlen subtrahieren ...

Verfasst: 5. Mai 2014, 23:31
von bwoebi
Damit meint Krieger auch das:
bwoebi hat geschrieben:Theoretisch könntest du auch einfach immer 10 (mit 10 meine ich jetzt Hexadezimal 10, also 16, wie Krieger sagt!) ausborgen zum Rechnen und das nächste mal wieder hinzufügen (Ähnlich wie im Dezimalsystem, halt nur leicht anders):

Code: Alles auswählen

   2A3A
-  FFF3
______
-      9 (A - (10 + 3) (Immer 10 mehr) = -9)
-   1B0 (3 - (10 + F) + 1 (Überhang) = -1B)
-  1400 (A - (10 + F) + 1 = -14)
- 1C000 (2 - (10 + F) + 1 = -1C)
+ 10000 (Überhang wieder hinzuaddieren)
______
- D5B9

Re: hexadezimale zahlen subtrahieren ...

Verfasst: 6. Mai 2014, 22:59
von Cell-i-Zenit
Ich brauch wieder eure Hilfe!

Wie kann das ich das ganze bei hexadezimalen negativen Zahlen machen?

Bei Binär klappt das ganze ganz easy mit der 2 Komplement darstellung.

Aber wie läuft das bei Hexadezimalen zahlen? Wie kann ich "auslesen" was für eine Zahl das ist?

Gegeben sind folgende Zahlen in b-Komplementdarstellung im vierstelligen Hexadezimalsystem:
9a03 53f5 7fff 8000 ffff 0001
a) Ordnen Sie die Zahlen aufsteigend nach ihrem Wert!
b) Berechnen Sie alle möglichen Summen und Differenzen der Zahlen und geben Sie jeweils an, welchenWert
Carry und Overflow haben!
c) Geben Sie die Werte der Zahlen in Hexadezimaldarstellung mit Vorzeichen an!
d) Geben Sie die Werte der Zahlen in Dezimaldarstellung mit Vorzeichen an!


ihr sollt das nicht für mich rechnen, aber evtl jeweils 1 "Beispiel + Erklärung" wären echt der Wahnsinn

Re: B - Komplement, Hilfe

Verfasst: 7. Mai 2014, 15:22
von Caludoi
Wandel sie doch in Binärzahlen um? ô_o

Re: B - Komplement, Hilfe

Verfasst: 7. Mai 2014, 16:45
von Cell-i-Zenit
und wie? sie sind schon in komplementdarstellung ... DH die zahlen sind negativ. Aber ich kann da nicht einfach ein minus davorschreiben... das is was ganz anderes

Re: B - Komplement, Hilfe

Verfasst: 8. Mai 2014, 12:19
von Caludoi
Umm.
0 - 0000
1 - 0001
...
E - 1110
F - 1111

Re: B - Komplement, Hilfe

Verfasst: 8. Mai 2014, 14:40
von Cell-i-Zenit
Ahhhh ich verstehe

ich wandel die "Negative" zahl erstmal um in eine Binäre Zahl zB: 100101011010110101111010101. Jetzt schau ich mir einfach die erste Zahl an (= 1) und weiß damit das sie negativ ist und kann sie so normal umwandeln? DH alles invertieren und dann + 1 ?

Re: B - Komplement, Hilfe

Verfasst: 8. Mai 2014, 16:41
von Caludoi

Re: B - Komplement, Hilfe

Verfasst: 8. Mai 2014, 17:37
von Cell-i-Zenit
war das ein ja oder ein nein? :D (also das davor das ich die zahlen ins binäre nehme und dann regulär "umwandle" ?