Grundlagen technischer Informatik

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Grundlagen technischer Informatik

      Grundlagen technischer Informatik
      Hallo Jungs,

      ich habe ein paar Probleme mit einer Aufgabe, die wir gestellt bekommen haben. Ich will mal die Aufgabe komplett aufschreiben und dann meine Frage dazu stellen.

      Die Aufgabe:

      Bei der Addition zweier n-Bit Zahlen in Zweierkomplementdarstellung kann es sein, dass die Summe nicht durch n Bit darstellbar ist. In diesem Fall spricht man von einem Overflow oder Überlauf. Man kann einen Überlauf daran erkennen, dass das Resultat der Addition zweier positiver Zahlen negativ, bzw. die Summe zweier negativer Zahlen positiv ist.

      a) Geben Sie für beide Situationen konkrete Beispiele in 6-Bit Zweierkomplementdarstellung an.

      b) Jemand behauptet: Bei einer Addition in Zweierkomplementdarstellung liegt ein Überlauf
      genau dann vor, wenn sich der Übertrag, der von der linkesten Stelle generiert wird, vom
      Übertrag, der in die linkeste Stelle propagiert wird, unterscheidet (d. h. einer entsteht und der
      andere nicht). Hat er recht? Begründung !

      Zur Info : 1. Semester Informatik Studium..

      Zu a)

      6 Bit.. heißt das, eine potentielle Zahl schaut so aus : 101010 | zur Basis 2 ?
      Ein Überlauf..

      Wenn ich eine Binärzahl mit einer anderen addiere
      Bsp:

      001 + 011 = 100 (alle zur Basis 2)
      1 + 3 = 4

      Wenn das geklärt ist, frage ich mich, was mit dem Teil der Aufgabenstellung gemeint ist:
      " Man kann einen Überlauf daran erkennen, dass das Resultat der Addition
      zweier positiver Zahlen negativ, bzw. die Summe zweier negativer Zahlen positiv ist."

      Gleich kommt noch was.. könntet ja schon mal schauen, ob ihr mir da helfen könnt.. aber mir brennen sonst meine Nudeln an..
      Zu A(der Bit Zahl) Ja genau so.

      Nur verstehe ich wie du nicht was mit "Man kann einen Überlauf daran erkennen, dass das Resultat der Addition
      zweier positiver Zahlen negativ, bzw. die Summe zweier negativer Zahlen positiv ist."

      Obwohl ich nichts damit zu tun hab, würde es mich auch interessieren;)
      Kenne mich jetzt auch nicht so gut damit aus, aber wenn die Zahl vorzeichenbehaftet ist(was sie in diesem Fall ist, da sonst keine negative Zahl bei einem Überlauf einer Addition heraus kommen kann), ist das höchstwertige Bit negativ.
      Bei einer Länge von 6 Bit wäre das also -32 und entspricht einem Werte Bereich von -32( 100000 ) bis 31( 011111 ). Wenn du jetzt also 2 Zahlen miteinander addierst, die ein Ergebnis >31 haben, wird das erste Byte gesetzt und die Zahl ist negativ.
      Bsp:

      Quellcode

      1. 010101 + 010000 = 100101
      2. 21 + 16 = -27

      Gleiches gilt dann auch für die Addition von negativen Zahlen, nur eben umgekehrt.
      Korrigiert mich, falls ich falsch liege.^^
      Danke User000User,

      das hat mir jetzt erst mal geholfen, dass ich zumindest so viel schon habe..

      Zwei Zahlen

      010100 <- 20
      + 001111 <- 15

      _____________
      100011 <-35

      Da die Zahl >31 ist.. müsste sie Minus werden.. nur wie kommst du bei dir da auf -27 ?
      VIelleicht hilft dir das auch nocht, wichtig ist halt das du Binär rechnen kein Problem hast und verstehst was es mit Komplement auf sich hat!



      Zu B:
      Hat recht, weil 5 "übrigen" Bits sich jeweils ergänzen ? Musste halt nachrechnen.

      Bin mir aber auch nicht mehr sicher, muss zum glück nicht mehr so oft Bits hin und her kutschieren und das erste Semester ist auch schon ewig her :D

      Gruß
      User000User,

      du musst mir nochmal genau erklären wieso bei dir -27 rauskommt.. ??

      Bist du hingegangen und hast -32 genommen dann die differenz zwischen 32 und 37 was 5 ist..

      Und dann von -32 die 5 abgezogen um auf -27 zu kommen ?


      PS: Was ist wenn ich folgendes habe

      100101 <- -27
      +100111 <- -25
      11
      ?00

      Wenn ich zwei 1sen übereinander habe und dazu noch einen Übertrag..

      Wie gehe ich dann vor ?
      Also habe ich folgende Aufgabe die ich mir ausgedacht habe richtig gelöst oder ?

      100101 + 100111 = 001100
      -27 + -25 = 12

      Right ?

      Danke Jungs.. ich glaube ich habe es verstanden..
      Habt mir wirklich geholfen..
      Danke