私は接続されたデバイスからデータを読み込むためにpySerialを使用しています。私は各受信パケットのチェックサムを計算したい。パケットはchar配列として読み込まれ、実際のチェックサムはパケットの最後の最後のバイトです。チェックサムを計算するには、通常、パケットのペイロードを合計し、それを実際のチェックサムと比較します。Pythonでオーバーフローで2バイトを追加する方法はありますか?
通常、Cのような言語では、チェックサム自体が1バイトであるため、オーバーフローが予想されます。私はPythonの内部については分かりませんが、言語に関する私の経験から、より大きなサイズの変数(おそらく内部bigIntクラスなど)がデフォルトになるように見えます。とにかく、私自身の実装を書かずに、2つの文字を追加すると予想される動作を模倣することはありますか?ありがとう。
ニースの簡単な例。バイトに切り捨てるもう1つの一般的な方法は、0xFFのビット単位のANDであるため、 "sum(payload)&0xFF"です。 –
@benhoytは私たちが同じことを考えているように見えます;-) – nategood