Hallo,
ich würde gerne folgenden CRC-16-Algorithmus nach JAVA portieren:
1 | unsigned int calcCRC16r(unsigned int crc, unsigned int c)
|
2 | {
|
3 | int i;
|
4 |
|
5 | crc ^= c;
|
6 | for( i = 8; i; i-- ){
|
7 | crc = (crc >> 1) ^ ((crc & 1) ? 0xA5D1 : 0 );
|
8 | }
|
9 |
|
10 | return crc;
|
11 | }
|
Bis jetzt bin ich soweit gekommen, jedoch habe ich ein Problem mit der
Bedingung in der for-Schleife und dem (crc & 1) als Bedingung:
1 | public int calcCRC16r(int crc, int c)
|
2 | {
|
3 | int i;
|
4 |
|
5 | crc ^= c;
|
6 | for( i = 8; i; i-- ){
|
7 | crc = (crc >> 1) ^ ((crc & 1) ? 0xA5D1 : 0 );
|
8 | }
|
9 |
|
10 | return crc;
|
11 | }
|
Wie schreib ich das in JAVA um? Wäre nett, wenn ihr mir helfen könntet.
MfG
Julian