2 zahlen addieren :D

Hey leute ^^

Bevor ich jetzt etwas falsch mache: Habe hier ne aufgabe,
addiere x = 111001 und y = 1110000 (die Zahlen seien im zweierkomplement gegeben)
auf einer 8 bit architektur

8 bit heißt für mich ich rechne immer mit 8 stelligen zahlen - normalerweise
würde man ja einfach vorne nullen auffüllen, aber wenn x und y im zweierkomplement
gegeben sind dann ist die 1 am anfang ja das minus… muss ich dann quasi zwischen der führenden 1
und der zweiten stelle nullen auffüllen oder wie?..

[quote=mymaksimus]normalerweise
würde man ja einfach vorne nullen auffüllen,[/quote]Normaler weise würde ich dem Lehrer diese Aufgabe um die Ohren hauen, weil die Zahlen mit fehlenden (führenden) Stellen einfach ungültig sind und deine Interpretation genau das ist, eine wilde Spekulation.

bye
TT

haha…

naja ich denke ich habs nur scheiße wiedergegeben. der genaue wortlaut der aufgabe war

"Addieren Sie 111001 und 1110000 auf einer 8-Bit-Architektur. Die Summanden sind jeweils im Zweierkomplement dargestellt. "

heißt also nicht dass die zahlen 8 bit sind… ich muss die erst auf 8 bit umrechnen.

ich bin dumm :slight_smile:

Da gibt’s sicher unterschiedliche Methoden. Ich würde die negative Zahl positiv machen (1 abziehen, alle bits invertieren), dann dezimal rechnen, und das Ergebnis zurückumwandeln - aber da gibt’s sicher geschickteres :wink:

klar das ist natürlich noch viel einfacher vor allemn weil nur die lösung gefragt ist :smiley:

[quote=mymaksimus]ich muss die erst auf 8 bit umrechnen[/quote]Nein. Du kannst nur raten, ob die fehlenden Stellen 1-en oder 0-en sein sollen.

Aber 50% Chance ist besser als Lotto…

bye
TT

außerdem wäre es mittlerweile der professor und nicht der lehrer :smiley:

Nun, wenn die Zahlen so gegeben sind, würde ich eigentlich davon ausgehen, dass beide positiv sein sollen. Andernfalls würde ich erwarten, dass die Aufgabe „präziser“ formuliert ist, im Sinne von ~„Zwei Zahlen, deren Repräsentation in 2weierkomplement ( :smiley: ) gegeben ist als XXXXXXXX und YYYYYYYY“ (zwei mal jeweils genau 8 bit!)

Ist jetzt halt blöd, dass die zweite Zahl so oder so 8 Stellen hat. Sehr unklar formuliert, würd’ ich sagen…

EDIT:

Vielleicht ist eine negativ oder die andere nicht? 33%? Oder 25% Wie auch immer. Wenn sowas „wichtig“ wäre, würde ich es beantworten mit

  1. Die Lösung ist X, wenn es so-und-so gemeint ist
  2. Die Lösung ist Y, wenn es so-und-so gemeint ist
  3. Die Lösung ist Z, wenn es so-und-so gemeint ist

Dann kann einem keiner ans Bein p!ssen und sagen, man hätte die Aufgabe „falsch“ beantwortet :cool:

doof nur dass es eine Aufgabe in einem Online Portal ist die maschinell ausgewertet wird xD

Hat sich inzwischen aufgeklärt, wie es gemeint war?

Mh, also bei mir ist das alles sehr lange her, aber:

  1. Fuehrende Stellen wuerde ich spontan immer mit Nullen auffuellen, wieso mit Einsen?
  2. Dann ist das halt ne normale Addition im Binaersystem (ist das Zweierkomplementaerdingens?)
  3. 8 Bit Architektur bedeutet fuer mich, es gibt quasi nur 8 Bit. Waere das Ergebnis groesser wird ein Overflowbit gesetzt und die ueberstehenden Bits abgeschnitten.

Negative Zahlen sind doch nur ne Interpretation des Bitmusters. Also wenn du die 8 Bit als Byte interpretierst, dann gibt das hoechste Bit an, ob die Zahl negativ ist. Ist es ein unsigned Byte, dann gibt es keine negativen Zahlen. Hat aber mit der Addition der beiden Zahlen gar nix zu tun, oder seh ich das falsch?

Mit den führenden Nullen ist das so eine Sache. Zumindest wenn man eine Signed 8bit Zahl auf bspw 16bit erweitert, wird mit dem ganz linken Bit aufgefüllt. Da 6bit aber nicht unbedingt eine gängige Darstellung ist und in der Aufgabenstellung auch von 8bit die Rede ist, halte ich es auch für angemessen, von führenden Nullen auszugehen.

Ob das Bitmuster nun eine positive oder negative Zahl repräsentiert ist für die Rechnung irrelevant. Das ist ja nunmal die Idee hinter dem Zweierkomplement.

Ob Overflowbit oder nicht ist auch noch eine andere Frage - ich würde davon ausgehen, dass es keins gibt.

Wenn man von führenden Nullen ausgeht, dann soll wohl gezeigt werden, dass aus einer Addition positiver Zahlen negative werden können, wenn der Wertebereich verlassen wird.

*** Edit ***
@Marco13 wenn ich mich nicht verzählt habe, ist die zweite Zahl auch 7stellig und damit positiv.

*** Edit ***

Im Kopf gerechnet sollte 10101001 die Lösung sein. Und da explizit gesagt wurde, dass die Zahlen im Zweierkomplement dargestellt sind, sollte das -87 entsprechen. Als Ergebnis der Addition von 57 und 112. (Die Zahlen können falsch sein, wie gesagt, im Kopf gerechnet.)