SourceWarum benötigt pythons zlib.crc32 ein bitweises AND, um als "stabil" betrachtet zu werden?
in Version 3.0 geändert: Immer gibt einen Wert ohne Vorzeichen. Verwenden Sie crc32 (Daten) & 0xffffffff, um denselben numerischen Wert über alle Python-Versionen und -Plattformen zu generieren.
Aber warum müssen wir eine bitweise und mit einer binären Zahl auf alle 1's setzen? Wird das Ergebnis nicht gleich sein (wie bei jeder Binärzahl BITWISE ANDED mit allen 1en wird immer die gleiche Binärzahl sein)? Dieses scheinbar willkürliche Detail macht mich unbehaglich.
Nur um zu klären, die bitweise und Operator (w/nichts mit Python zu tun) ausführen d auf einer binären Zahl und einer binären Zahl, die aus allen 1en besteht - per Definition würde niemals irgendwas 'XXXX' &' 1111' = 'XXXX' immer ändern. Es passiert einfach, dass in python der bitweise Operator auch die Zahlen in unsigned umwandelt. Ist das richtig? (Beachte, dass dies nicht gleichbedeutend ist mit der Verwendung von Bauchmuskeln.) Ist mein Denken richtig? – AlanSTACK