达人帮忙看看,我这段代码转换的对不对

_Shakespeare 2004-02-26 01:48:08
/*
*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;

}

达人帮我看看转的对不对啊。
...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧