Hallo Leude ! Gibt es einen einfachen weg, in C eine Umwandlung von eine int zahl nach MODULO 256 vorzunehmen ? Man müsste doch einfach nur nach rechts shiften und die obersten 2 Bytes verwerfen oder ?
xray schrieb: > Gibt es einen einfachen weg, in C eine Umwandlung von eine int zahl > nach MODULO 256 vorzunehmen ? Was willst du denn machen? Ich würde dir raten: schreib es einfach mathematisch mit Modulo und Divisionen hin. Der Compiler wird dir das dann soweit möglich mit Shift-und Tausch-Operationen optimieren.
>Gibt es einen einfachen weg, in C eine Umwandlung von eine int zahl >nach MODULO 256 vorzunehmen ? Wert &= (256 - 1);
Danke. Aber funt immer noch nicht so richtig. Die richtige Checksumme in HEX wäre 134, bzw. MOD256 34.
1 | {
|
2 | putch(DC1); // <DC1> |
3 | putch(4); // 4(len) |
4 | putch(ESC); // ESC |
5 | putch('M'); // M |
6 | putch('T'); // T |
7 | putch(63); // Touchmakro 99 |
8 | |
9 | unsigned int bcc = ((DC1 + 4 + ESC + 'M' + 'T' + 63)); |
10 | bcc &= (256 - 1); |
11 | putch(bcc); //(35)BCC |
12 | }
|
Ist der Datentyp nicht der richtige ?
Gib doch mal die numerischen Werte von DC1 und ESC.... bzw: rechne doch einfach mal selbst nach. Man das ist ne einfache Addition! die Großbuchstaben wirste ja auch aus ner ASCII-Tabelle auslesen können...
Hat sich schon erledigt ! Aber danke... ich geh lieber pennen, hatte echt nen Typkonflikt.....
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.