WinFuture-Forum.de: Addition Mit Int- Und Double-operanden - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Addition Mit Int- Und Double-operanden korrekte Ergebnisse???


#1 Mitglied ist offline   Geddie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 04. Juli 06
  • Reputation: 0

geschrieben 02. August 2006 - 18:51

Hallo zusammen,

schreib Freitag mein Klausur über C und da bin ich paar einer Übungsaufgabe hierauf gestoßen:

Welche der folgenden Aussagen sind korrekt?

(a) Jede Addition mit int- oder double-Operanden liefert das mathematisch richtige Ergebnis
(b) Jede Addition mit int- Operanden liefert das mathematisch richtige Ergebnis
© Jede Addition mit int- Operanden liefert das mathematisch korrekte Ergebnis, sofern kein Überlauf
(d) Jede Addition mit double-Operanden liefert das mathematisch korrekte Ergebnis, sofern kein Überlauf
(e) Jede Addition mit double-Operanden liefert das mathematisch korrekte Ergebnis
(f) keine Addition mit double-Operanden liefert das richtige Ergebnis


Also ich würde sagen, dass © und (f) richtig sind. Bei double-Operanden kann ja immer noch der Rundungsfehler im Spiel sein und dann zu Fehlern führen. Das ist bei int ja nicht der Fall, da muss man nur auf den Überlauf achten.
Ist das so richtig, oder habe ich mich vertan?

MfG

Gerd
0

Anzeige



#2 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 02. August 2006 - 20:27

bei c stimm ich dir zu, aber warum soll f stimmen?

annahme: f) stimmt.
double a = 1; double b = 2; double c = a+b; ==> c = 3; ==> ergebnis richtig ==> f) stimmt nicht.
I'm mó. mo's good twin.
0

#3 Mitglied ist offline   Geddie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 04. Juli 06
  • Reputation: 0

geschrieben 02. August 2006 - 20:39

da haste natürlich recht. war dumm von mir!!!

aber (d) und (e) sollten doch auch nicht stimmen oder?
das wörtchen jede bezieht sich ja somit auch auf operationen, die rundungsfehler beinhalten. also stimmt nur ©!?!?!
0

#4 Mitglied ist offline   flo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 7.955
  • Beigetreten: 14. November 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 02. August 2006 - 20:40

Beitrag anzeigenZitat (mo: 02.08.2006, 21:27)

bei c stimm ich dir zu, aber warum soll f stimmen?

annahme: f) stimmt.
double a = 1; double b = 2; double c = a+b; ==> c = 3; ==> ergebnis richtig ==> f) stimmt nicht.



Kommt es nicht darauf an wieviele stellen man hinter dem komma anschaut?
Ich weis ja nicht wie Pingelig die sind, aber wenn man genug stellen hinterm komma hat dann stimmt das Ergebniss nicht mehr.
0

#5 Mitglied ist offline   Geddie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 04. Juli 06
  • Reputation: 0

geschrieben 02. August 2006 - 20:47

darum könnte ja eigentlich nur c richtig sein. double-operationen mit nachkommastellen sind also definitiv fürs rechnen ungeeignet
0

#6 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 02. August 2006 - 21:33

Ich würde auch sagen, dass nur c richtig ist.

Mathematische Operationen sind vom Prozessor abhängig. Irgendein Pentium hätte den Bug, dass er mit großen Zahlen (oder waren es doch kleine :D) nicht mehr rechnen konnte und falsche Ergebnisse ausgespuckt hat.
0

#7 Mitglied ist offline   mo 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.796
  • Beigetreten: 17. Juni 02
  • Reputation: 0
  • Wohnort:Ulm / BaWü

geschrieben 03. August 2006 - 08:44

Zitat

darum könnte ja eigentlich nur c richtig sein. double-operationen mit nachkommastellen sind also definitiv fürs rechnen ungeeignet

naja, aber es ist die einzige möglichkeit, mit ungeraden z ahlen zu rechnen (also floating und fixpoint insg) und die bilden immer nur eine endliche teilmenge der rationalen zahlen ab. in der computergrafik wird die ganze zeit um dieses problem herumgetänzelt - weil man eben nie genau rechnen kann.

Zitat

Kommt es nicht darauf an wieviele stellen man hinter dem komma anschaut?
Ich weis ja nicht wie Pingelig die sind, aber wenn man genug stellen hinterm komma hat dann stimmt das Ergebniss nicht mehr.

hab ja absichtlich mit ganzen zahlen gerechnet und damit bewiesen, dass es zumindest eine operation 1+2 = 3 gibt, die keine fehler macht und damit die aussage widerlegt...

floatingpoint-zahlen sind nicht in dem sinne "vor-dem-komma" und "nach-dem-komma" getrennt ;)
siehe auch: http://de.wikipedia.org/wiki/IEEE_754
(afaik wird IEEE 754 auf intel und powerpc prozessoren implementiert ... mehr oder weniger erfolgreicht (siehe pentium bug))
I'm mó. mo's good twin.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0