47 lines
1.5 KiB
Plaintext
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$
|