Hallo alle zusammen!
Kurioses Problem: Ich programmiere gerade einen Microcontroller in C, avrgcc ist der Compiler. Wenn ich schreibe
uint8_t s;
time_t t;
s = n/100;
t.csecs = n % 100;
t.secs = (s % 60);
t.mins = (s/60) % 10;
erhalte ich beispielsweise für den Input n=25856 im Feld secs den Wert 2 und in mins eine 0. Mit einem expliziten
time_t t;
t.csecs = n % 100;
t.secs = ((n/100) % 60);
t.mins = ((n/100)/60) % 10;
erhalte ich hingegen das erwartete secs=18, mins=4. Sieht hier jemand die Ursache des Problems in der ersten Variante, bevor ich mich durch den Assemblercode gewühlt hab? Warnings gibt es übrigens keine.
Grüße,
Alex