-
So manch einer wunderte sich schon über folgendes:
Code:
unsigned char a;
unsigned char b;
unsigned short c;
a = 200;
b = 200;
c = b + a;
Gibt natürlich keine Fehler oder Warnings, ist ja alles korrekt.
Aber man erhält für c trotzdem 144 und nicht 400 !! ;)
Wenn der Datentyp also größer ist, in dem man hinein spiechert, muss man also mindestens einen der beiden kleineren casten.
mfg
zerush
-
bei mir wars ein 10x10 array, dessen werte bei x oder y > 8 nonsens ABER > 0 ergaben worauf mein asuro fröhlich grinsend in die kreissäge gefahrn iss ^^
alle anderen werte hätten auch mist sein können, zufällig aber warnse mit 0 initialisiert deshalb sah es so aus als ob er richtig tickt
-
Hallo
Danke für die zahlreichen Antworten.
Habe den Tip von lorcan mit dem Typcast nach Double versucht, hat auch das erwartete Ergebnis gebracht :-)
Bin wie gesagt ein Umsteiger von Pascal auf C. Bei meinem Pascompiler hätte das ohne Typcasting funktioniert, muss da ein wenig Umdenken.
Da es für den AVR leider keinen Bug Freien Pas Compiler (mikropas) gibt, bin ich auf C umgestiegen.
Finde langsam sogar Gefallen an C, nicht zuletzt deshalb wenn einem C Dau hier so gut geholfen wird O:)
Gruß Rudi