我想转换java中的C++软件,但是位操作不会产生相同的结果。 我在做什么的概述: 有一个数据条目,2个字节长,无符号(0-65535)的ascii文件。现在我想转换两个单字节无符号短整数的双字节无符号整数。在java中的位操作,相比于c
C++代码:
signed char * pINT8;
signed char ACCBuf[3];
UInt16 tempBuf[128];
tempBuf[0] = Convert::ToUInt16(line);
pINT8 = (signed char *)&tempBuf[0];
ACCBuf[0] = *pINT8;
pINT8++;
ACCBuf[1] = *pINT8;
Java代码:
int[] ACCBuf = new int[6];
int[] tempBuf = new int[128];
tempBuf[0] = Integer.parseInt(line);
ACCBuf[0] = tempBuf[0] >> 8;
ACCBuf[1] = 0x00FF & tempBuf[0];
这两个码产生不同的结果。 有什么想法为什么?
'C++!= java' !!! – Apurv 2013-02-27 11:51:20
http://stackoverflow.com/questions/11760676/how-to-access-array-elements-by-pointer-arithmetic-in-java – BobTheBuilder 2013-02-27 11:51:28