Ich verwende pySerial, um Daten von einem angeschlossenen Gerät einzulesen. Ich möchte die Prüfsumme jedes empfangenen Pakets berechnen. Das Paket wird als Char-Array eingelesen, wobei die tatsächliche Prüfsumme das letzte Byte am Ende des Pakets ist. Um die Prüfsumme zu berechnen, würde ich normalerweise die Paketnutzlast summieren und dann mit der tatsächlichen Prüfsumme vergleichen.Gibt es eine Möglichkeit, zwei Bytes mit Überlauf in Python hinzuzufügen?
Normalerweise würden wir in einer Sprache wie C einen Überlauf erwarten, weil die Prüfsumme selbst nur ein Byte ist. Ich bin mir nicht sicher über die Interna von Python, aber aus meiner Erfahrung mit der Sprache sieht es so aus, als würde es auf eine größere Variable (vielleicht eine interne bigInt-Klasse oder etwas) voreingestellt. Gibt es überhaupt etwas, um das erwartete Verhalten des Hinzufügens von zwei Zeichen nachzuahmen, ohne meine eigene Implementierung zu schreiben? Vielen Dank.
Nizza einfaches Beispiel. Beachten Sie, dass eine andere gebräuchliche Methode zum Abschneiden auf ein Byte bitweise UND mit 0xFF ist, also "sum (Nutzlast) & 0xFF". –
@benhoyt sieht aus, als ob wir das gleiche denken ;-) – nategood