【发布时间】:2009-10-13 17:42:36
【问题描述】:
我需要将此代码(在 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);
}
【问题讨论】:
-
您当前的 Java 代码是什么?也可以粘贴一下吗?
-
您可能会被 Java 中没有无符号短路这样的事实所困扰。
-
我怎样才能把一个短的转换成一个无符号的短
-
这是我的 Java 代码:int i;诠释 j;诠释 k;整数结果; int m_table[256] = 新的 int[256];对于 ( i = 0 ; i
-
在我看来,这实际上看起来像是 C 代码,而不是 C++。