我需要把這段代碼轉換(在C++)成Java代碼:Java的C++代碼轉換
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代碼?你能粘貼嗎? – 2009-10-13 17:43:51
你可能由以下事實得到位有作爲Java中的無符號短沒有這樣的事情。 – Gandalf 2009-10-13 17:46:24
我怎樣才能將短變成無符號短 – Arutha 2009-10-13 17:58:06