我有一个方法,可以将有符号或无符号的byte
转换为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;
}
编辑:
我正在读取一个wav文件以计算信噪比。转换后返回的值应该在0到255之间。 应用程序应该比较两个波形文件,一个是原始文件,另一个是修改后的文件,并计算信噪比。