达人帮忙看看,我这段代码转换的对不对
/*
*c++的代码
*/
static void cookey(register unsigned long * raw1)
{
register unsigned long *cook, *raw0;
unsigned long dough[32];
register int i;
cook = dough;
for( i = 0; i < 16; i++, raw1++ ) {
raw0 = raw1++;
*cook = (*raw0 & 0x00fc0000L) << 6;
*cook |= (*raw0 & 0x00000fc0L) << 10;
*cook |= (*raw1 & 0x00fc0000L) >> 10;
*cook++ |= (*raw1 & 0x00000fc0L) >> 6;
*cook = (*raw0 & 0x0003f000L) << 12;
*cook |= (*raw0 & 0x0000003fL) << 16;
*cook |= (*raw1 & 0x0003f000L) >> 4;
*cook++ |= (*raw1 & 0x0000003fL);
}
usekey(dough);
return;
}
/**
*java的代码
*/
static void cookey(long[] raw1)
{
long[] raw0;
long[] dough=new long[32];
int i;
for(i=0;i<16;i++){
dough[2*i] = (raw1[2*i+1] & 0x00fc0000L) << 6;
dough[2*i] |= (raw1[2*i+1] & 0x00000fc0L) << 10;
dough[2*i] |= (raw1[2*i] & 0x00fc0000L) >> 10;
dough[2*i+1] |= (raw1[2*i] & 0x00000fc0L) >> 6;
dough[2*i+1] = (raw1[2*i+1] & 0x0003f000L) << 12;
dough[2*i+1] |= (raw1[2*i+1] & 0x0000003fL) << 16;
dough[2*i+1] |= (raw1[2*i] & 0x0003f000L) >> 4;
dough[2*i+2] |= (raw1[2*i] & 0x0000003fL);
}
usekey(dough);
return;
}
达人帮我看看转的对不对啊。