# CRC Berechnung



## PollerJava (6. Jun 2007)

Hallo,


ich habe eine Klasse mit der ich CRC16 berechne, Weiß jemand wie man testen kann ob die Berechnung richtig ist bzw. gibts irgendwo Vergleichswerte (Eingabe, Ausgabe)?


```
public class CRCBerechnung 
    {   
    private int crc = 0;
    private byte[] testBytes;
    
    public CRCBerechnung() 
        {
        }
    
    public int calcCRC(byte[] value)
        {
        short crc = (short) 0xFFFF;           
        for (int j = 0; j < value.length; j++)
            {
            byte c = value[j];
            for (int i = 0; i < 8; i++)
               {
               boolean c15 = ((crc >> 15      & 1) == 1);
               boolean bit = ((c   >> (7 - i) & 1) == 1);
               crc <<= 1;
               if (c15 ^ bit) 
                   crc ^= 0xa001;   // 0x1021;     
               }
            }
        System.out.println("CRC16 = " + Integer.toHexString(crc));
        return crc;
        }
    }
```


----------



## SlaterB (6. Jun 2007)

was spricht gegen google?

http://www.google.de/search?hl=de&q=crc+beispiel&meta=
http://www.informatik.uni-frankfurt.de/~haase/crc.html


----------



## PollerJava (8. Jun 2007)

Mein Problem ist folgendes: 

Ich möchte 2 Bytes übergeben mit den Werten 48 und 250: Als Ergebnis soll mir die Funktion calcCRC ein High-Byte von 4 und ein Low- Byte von 67 zurückgeben, tut es aber nicht,

Wie kann ich ein HighByte und ein LowByte zurückgeben?
Kennt sich da jemand aus damit?

lg


----------

