我有這種方法可以將有符號或無符號的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