Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Addition von negativen und positiven zahlen
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Addition von negativen und positiven zahlen
 
Autor Nachricht
FBI_1907
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 17.01.2009
Beiträge: 83

BeitragVerfasst am: 21 Jan 2009 - 00:36:52    Titel: Addition von negativen und positiven zahlen

Hallo,
könnt ihr vielleicht kurz schauen ob ich die Aufgaben richtig gelöst habe? Habe keine Lösung dazu wollte mal von euch hören obs stimmt oder nicht. Danke im Voraus


Gegeben seien n = 5. Führen Sie folgende Operationen aus:

n=5 bedeutet ja dass man da 5 stellen also bits nehemen sollen!

a) 12+9

b) 5-14


Lösung zu a)

Meine Lösung lautet:

01001
01100 +
_________
10101


Lösung zu b)

1.)

5= 00101

2.)

14= 01110

umkehren: 10001 + 1

also 10001
00001 +
__________
10010

also: -14 = 10010


3.)

10010
00101 +
_________
00110



stimmen die so?
Al!ve
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 06.07.2008
Beiträge: 131

BeitragVerfasst am: 21 Jan 2009 - 03:01:49    Titel:

Rechne das doch einfach mit einem Taschenrechner nach, der binär rechnen kann. Zb Windows, Linux oder Mac-Tachenrechner.
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 21 Jan 2009 - 11:26:47    Titel:

Also falls es Ganzzahl-Arithmetik mit negativen Zahlen im Zweier-Komplement sein soll, dann stimmen deiner Ergebnis bzw. deine Interpretationen nicht. Du deckst mit 5 Stellen den Zahlenbereich von -16 bis +15 ab. Das MSB gibt dir das Vorzeichen der Zahl an.

12 + 9
Code:

  01100
+ 01001
---------
  10101


Mit korrekter Format-Interpretation würde das Ergebnis nun -11 lauten. Hä? Zwei positive Zahlen addiert und man erhält was Negatives? Na klar: 12+9 = 21 und wir decken doch nur die Zahlen von -16 bis +15 ab. Offensichtlich müsste also hier das Sign-Flag gesetzt werden. Da sich einlaufender und auslaufender Übertrag am MSB unterscheiden müsste außerdem das Overflow-Flag gesetzt werden. Das Ergebnis ist ungültig.

5 - 14
Code:

  00101
+ 10010
---------
  10111


Das wäre dann also -9. Das Sign-Flag ist gesetzt, aber das Overflow-Flag nicht. Das Ergebnis ist gültig.
FBI_1907
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 17.01.2009
Beiträge: 83

BeitragVerfasst am: 21 Jan 2009 - 12:20:22    Titel:

Annihilator hat folgendes geschrieben:
Also falls es Ganzzahl-Arithmetik mit negativen Zahlen im Zweier-Komplement sein soll, dann stimmen deiner Ergebnis bzw. deine Interpretationen nicht. Du deckst mit 5 Stellen den Zahlenbereich von -16 bis +15 ab. Das MSB gibt dir das Vorzeichen der Zahl an.

12 + 9
Code:

  01100
+ 01001
---------
  10101


Mit korrekter Format-Interpretation würde das Ergebnis nun -11 lauten. Hä? Zwei positive Zahlen addiert und man erhält was Negatives? Na klar: 12+9 = 21 und wir decken doch nur die Zahlen von -16 bis +15 ab. Offensichtlich müsste also hier das Sign-Flag gesetzt werden. Da sich einlaufender und auslaufender Übertrag am MSB unterscheiden müsste außerdem das Overflow-Flag gesetzt werden. Das Ergebnis ist ungültig.

5 - 14
Code:

  00101
+ 10010
---------
  10111


Das wäre dann also -9. Das Sign-Flag ist gesetzt, aber das Overflow-Flag nicht. Das Ergebnis ist gültig.



Also die Aufgabe b) ist richtig so wie ich se gemacht habe oder? Aber die a) habe ich immer noch nicht verstanden ich muss ja die Zahlen 12 und 9 addieren also die binärzahl von 12 + die binärzahl von 9 reicht das nicht warum ist es falsch und warum muss man -11 rausbekommen ich versteh das leider nicht Sad
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 21 Jan 2009 - 14:18:12    Titel:

Du hast 5 bit zur Verfügung. Damit kannst du nur maximal 32 verschiedene Zustände kodieren. Für die Ganzzahl-Arithmetik mit Zweier-Komplement werden die Zahlen -16, -15, -14, ..., 13, 14, 15 abgedeckt - sind genau 32. Es gibt keine Darstellung der 21, denn sobald das MSB 1 ist, versteht der Rechner die Zahl als im Zweierkomplement dargestellte negative Zahl. Das Setzen von SF und OF ermöglicht es aber zu entscheiden, ob das erhaltene Ergebnise tatsächlich gültig ist oder nicht. Hier mal die Kodierungs-Tabelle komplett:

Code:

10000 <--> -16
10001 <--> -15
10010 <--> -14
10011 <--> -13
10100 <--> -12
10101 <--> -11
10110 <--> -10
10111 <--> -9
11000 <--> -8
11001 <--> -7
11010 <--> -6
11011 <--> -5
11100 <--> -4
11101 <--> -3
11110 <--> -2
11111 <--> -1
00000 <--> 0
00001 <--> 1
00010 <--> 2
00011 <--> 3
00100 <--> 4
00101 <--> 5
00110 <--> 6
00111 <--> 7
01000 <--> 8
01001 <--> 9
01010 <--> 10
01011 <--> 11
01100 <--> 12
01101 <--> 13
01110 <--> 14
01111 <--> 15
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Addition von negativen und positiven zahlen
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum