我需要将此代码(在 C++ 中)转换为 Java 代码:
short i;
short j;
short k;
short result;
unsigned short m_table[ 256 ]
for ( i = 0 ; i < 256 ; i++ )
{
k = i << 8;
result = 0;
for ( j = 0 ; j < 8 ; j++ )
{
if ( ( result^ k ) & 0x8000 )
result= ( result<< 1 ) ^ 0x1021;
else
result<<= 1;
k <<= 1;
}
m_table[ i ] = (unsigned short) result;
}
...但我从来没有得到相同的结果...
我的Java代码是:
int i;
int j;
int k;
int result;
int m_table[ 256 ] = new int[256];
for ( i = 0 ; i < 256 ; i++ ) {
k = (i << 8);
result = 0;
for ( j = 0 ; j < 8 ; j++ ) {
if ( (( result^ k ) & 0x8000) != 0)
result= (( result<< 1 ) ^ 0x1021);
else
result<<= 1;
k <<= 1;
}
m_table[ i ] = (result);
}