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
Vollständiges Beispiel bitte.
Hallo, so unsigned int BusSpi_03 BusSpi_03 = (16 * 8) als auch unsigned int BusSpi_03 BusSpi_03 = (16 * 8) Gruß Siegfried
Gast
#1008146
Das kenn ich irgendwoher das das Highbyte auf 0xFF gesetzt ist ;) Wie alt ist die Compilerversion?
Hei, MPLAP 8.14 C18 3.21 Gruß Siegfried
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.