Mir ist jetzt aufgegangen, was an den Beispielen (Pseudocode und C) im Artikel falsch ist: Sie arbeiten nicht zyklisch, wie es der Name des Algorithmus aber impliziert. Die im Register herausgeschobenen Bits werden nicht am anderen Ende wieder hineingeschoben (siehe in meinem Programm die Zeile crc |= CRC32_MSB;).