Hallo, MPLAP 8.14 und C18 Habe Probleme mit der Multiplikation. Wenn ich BusSpi_03 = (16 * 8) rechne, ist das Ergebnis " FF80 " richtig wäre 0080 habe die Variable mit unsigned int BusSpi_03 sowie int BusSpi_03 probiert. Gruß Siegfried
Hallo, so unsigned int BusSpi_03 BusSpi_03 = (16 * 8) als auch unsigned int BusSpi_03 BusSpi_03 = (16 * 8) Gruß Siegfried
Das kenn ich irgendwoher das das Highbyte auf 0xFF gesetzt ist ;) Wie alt ist die Compilerversion?
Gibt es da eine Compileroption die sizeof(int)=1 bewirkt? Dann stimmt es nämlich. Einen verwandte Option jedenfalls gibt es, die Rechnungen mit Bytes nicht automatisch auf "int" erweitert. Wenn dann noch 16 und 8 als "char" interpretiert werden, somit auch das Ergebnis, dann passt alles.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.