Thread C Funktion in perl umsetzen (16 answers)
Opened by piet at 2015-02-11 13:03

Raubtier
 2015-02-12 10:23
#179627 #179627
User since
2012-05-04
1075 Artikel
BenutzerIn
[default_avatar]
Antwort auf dein Edit:

uint8 ist ein 8-bit-unsigned-int, uint16 eben der 16-bit-unsigned-int - zumindest solange das nicht komisch ge-typedef-t wurde. Sollte wohl eigentlich uint8_t und uint16_t heißen und findet sich in <stdint.h>.

Zur Gleichheit:
Hast du mal größere Zahlen eingesetzt? summe(@uha) ist in deinem Beispiel < 255.

Oder anderer Versuch: setzte mal das Array auf @uha = (254) x 255; und vergleiche mein checksum(@uha) (liefert dasselbe wie das C-Programm) mit deinem normalChecksum(0, @uha, 1+@uha) (liefert ab hier was anderes)... ganz zu schweigen von dem simpleChecksum.

Edit: Ok, der Fairness halber sage ich dir, dass du eine Schreibfehler mit 255 vs. 256 im Code hast. Aber selbst dann ergibt sich ab @uha = (254) x 259; bei dir was anderes als im Original.
Last edited: 2015-02-12 10:48:29 +0100 (CET)

View full thread C Funktion in perl umsetzen