Hallo !
ich versuche eine Methode aus C in Java umzuwandeln.
Da ich C überhaupt nicht kenne, könnte mir einer erklären, was diese Operationen an sich bedeuten z.Bsp:
#define MKSHORT(a,b) ((unsigned short) (a) | ((unsigned short)(b) << 8))
und if(uCrc16 & 0x8000)
Danke für Antwort
ich versuche eine Methode aus C in Java umzuwandeln.
Code:
#define CRC16_GEN_POL 0x8005
#define MKSHORT(a,b) ((unsigned short) (a) | ((unsigned short)(b) << 8))
/* ::---------------------------------------------------------------------
:: FN: CreateCRC; CRC in ANSI - C
:: Synopsis: static void CreateCRC(BYTE *CommData,WORD uLen)
:: Funktion: Bildung der CRC16 - Checksumme.
------------------------------------------------------------------------*/
static WORD CreateCRC(unsigned char *CommData, unsigned int uLen )
{
unsigned short uCrc16:
unsigned char abData[2];
uCrc16 = 0;
abData[0] = 0;
while (uLen-- )
{
abData[1] = abData[0];
abData[0] = *CommData++;
if(uCrc16 & 0x8000)
{
uCrc16 = (uCrc16 & 0x7fff) << 1;
uCrc16 ^= CRC16_GEN_POL;
}
else
{
uCrc16 <<= 1;
}
uCrc16 ^= MKSHORT (abData[0] , abData[1]);
}
return(uCrc16);
}
#define MKSHORT(a,b) ((unsigned short) (a) | ((unsigned short)(b) << 8))
und if(uCrc16 & 0x8000)
Danke für Antwort