我有这种方法可以将有符号或无符号的byte
转换为int
,但它不会返回它应该返回的内容。有人可以在下面的代码中指出问题吗?将字节[]转换为int
public int convertByteToInt(byte[] b){
int value= 0;
for(int i=0;i<b.length;i++){
int n=(b[i]<0?(int)b[i]+256:(int)b[i])<<(8*i);
value+=n;
}
return value;
}
编辑:
我'actualy读取wav文件,以计算SNR。从转换中返回的值应该给出0到255之间的值。 应用程序应该比较2个wave文件,on是原始值,另一个是修改并计算SNR。
你能like..indent你的代码? – 2011-02-09 21:23:54
你确定你不想要Integer.parseInt(new String(b)) – Zeki 2011-02-09 21:27:56