Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: theoretische Frage: Sind in C2 Laufzeitfehler möglich Kategorie: Programmierung (von André H. - 26.06.2003 8:44)
Als Antwort auf Re: theoretische Frage: Sind in C2 Laufzeitfehler möglich von Markus H. - 22.06.2003 16:42

Hallo Markus,
 
> Also , ich habe eine zwei Byte-Variablen i, j, und folgenden code:
> ....
>
> Das führt bei mir zum OUTPUT 255 am externen Display, und nicht zu einem Laufzeitfehler, aber bei
> Float-Variablen konnte ich einen herbeiführen.
>
> Bei Byte-Variablen ist die Division durch 0 scheinbar nicht definiert.
>

Die Fehlermeldung Div0 gibt's nur bei Floatvariablen, da dies ein komplexerer Datentyp ist.
Bei den einfachen Datentypen byte, Integer und long gibt's bei Division durch 0 keine Fehler.
Allerdings werden bei einer solchen Division alle Bits der Variable auf High gesetzt.
D.h., daÃ? bei Byte 255 und bei Integer & Long -1 rauskommt, wenn man durch 0 teilt.
Das ist in gewisser Weise auch logisch, da theoretisch bei einer Teilung durch 0 das
Ergebnis unendlich ist. Da jedoch dies nicht mit diesen Datentypen dargestellt werden kann,
wird das höchstwertige Bitmuster gesetzt.(Vorzeichen wird nicht beachtet).
Bei Byte 0xFF, bei Integer 0xFFFF, bei Long 0xFFFFFFFF.

Kurz: alle Fehlermeldungen, Berechnungen betreffend, können nur bei Floatvariablen erscheinen.

MfG André H.


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: