2011-12-18 15:04:21 +01:00

47 lines
1.5 KiB
Plaintext

CRC-Berechnung auf Basis von CRC-12
===================================
Autor: Tomislav Greguric
weitere Gruppenmitglieder: Elif Tekes, Nabil Sayegh
Programmbeschreibung:
---------------------
Das vorliegende Programm "crc.tri" bzw. "crc.tam" berechnet zu
gegebenen Eingabedaten auf STDIN eine Checksumme.
Dazu werden jeweils nacheinander drei Bytes eingelesen und über
diese eine Checksumme nach dem CRC-12-Verfahren berechnet. Bei
weniger als drei Bytes werden die restlichen Bits mit Nullen
aufgefüllt. Als Ausgabe liefert das Programm eine kummulierte
Checksumme und (in Anlehnung an sum(1) und cksum(1)) die nach oben
gerundete Anzahl der 1k-Blöcke.
Derzeit werden die einzelnen CRC-12-Summen geXORt, so daß schnell
die größtmögliche Checksumme von 2^12-1=4095 entsteht. Eine Addition
würde auch nicht viel bringen, da dann Triangles "maxint" die
nächsthöhere Hürde wäre.
Da auch keine Bitoperationen möglich sind, wurden intern die Bits
als Array von Integer realisiert, natürlich mit der
stillschweigenden Bedingung, daß dabei nur Nullen und Einsen benutzt
werden dürfen.
Beispiele:
----------
tg@penguin1:~/crc-4/Triangle$ echo He | java TAM.Interpreter crc.tam
********** TAM Interpreter (Java Version 2.1) **********
2032 1
Program has halted normally.
tg@penguin1:~/crc-4/Triangle$ echo Hello | java TAM.Interpreter crc.tam
********** TAM Interpreter (Java Version 2.1) **********
4095 1
Program has halted normally.
tg@penguin1:~/crc-4/Triangle$