Nicht angemeldet. · Kennwort vergessen · Registrieren

Schmiedl
Mitglied seit 04/2011
2 Beiträge
Betreff: SPIC Juli 2010 Aufgabe 1g - Bereichsüberlauf
Hallo,
laut unserem Tutor sollte bei der besagten Aufgabe zu einem Bereichsüberlauf kommen also antwortmöglichkeit nr. 4.
Deshalb stellt sich uns die Frage, in welcher Reihenfolge die Rechnung durchgeführt wird. von links nach rechts? oder andersrum?

  1. uint_8 a=100;
  2. uint_8 b;
  3. b=a+a*2-50;

zum Bereichsüberlauf kommt es ja nur, wenn von links nach rechts gerechnet wird. also 100+200 und erst dann -50. Ist das immer so der Fall?

vg Martin
Dieser Beitrag wurde am 02.08.2011, 23:40 von dom verändert.
Begründung: code tags
sicherha
Informatik-Veteran
Mitglied seit 10/2010
53 Beiträge
Gerechnet wird "Punkt vor Strich" und von links nach rechts.
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Ich persönlich mag die Frage überhaupt nicht: Nein ist kommt zu keinem Bereichsüberlauf - egal wie du rechnest, da C alle Zahlen zu ints hochstuft (http://c0x.coding-guidelines.com/6.3.1.1.html  Satz 673 oder ausführlicher im PDF: http://c0x.coding-guidelines.com/6.3.1.1.pdf). Wenn der Compiler weiß, dass es keine Auswirkungen auf das Ergebnis hat, darf er aber auch andre Typen verwenden.
Christian St. (Moderator)
Mitglied seit 05/2011
196 Beiträge
Ich mag die Frage auch nicht. Ob es zu einem Bereichsüberlauf kommt, hängt davon ab, welchen Compiler du verwendest und für welche Platform du das kompilierst.
morty
SPiC-Meister
(Moderator)
Mitglied seit 05/2011
331 Beiträge
Zitat von Christian St.:
Ich mag die Frage auch nicht. Ob es zu einem Bereichsüberlauf kommt, hängt davon ab, welchen Compiler du verwendest und für welche Platform du das kompilierst.
Nope. Da int immer mindestens 16 Bit groß ist, kommt es nie zu einem Bereichsüberlauf - zumindest wenn der Compiler C-Konform ist.
Schließen Kleiner – Größer + Auf diesen Beitrag antworten:
Prüfcode: VeriCode Gib bitte das Wort aus dem Bild ins folgende Textfeld ein. (Nur die Buchstaben eingeben, Kleinschreibung ist in Ordnung.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O :troll:
Weitere Zeichen:
Gehe zu Forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen