2011-03-30 68 views
0

獲取字節我有十六進制的測試陣列(基數16)數字從數問題

var numbers = ["01","02","a1"]; 

和我將它們轉換爲int(基數10)通過使用

var num = parseInt(temp.join(''), 16); 

其中溫度是一個數在數組中。

我像提取

(num >> (8*index_byte) & 0xFF) 

,但我不得到「03」值字節,問題是,我得到的只是3.如何得到「01」不是1或「02」而不是2?

回答

1

喜歡的東西:

num = 1; 
if (String(num).length < 2) 
{ 
    num = "0" + num; 
} 
+0

var num = 1; num = num.toString()。length <2? 「0」+ num:num;對於簡單的比較,你可以使用三元(據說它會產生更快的代碼,不太確定,試試看) – Bakudan 2011-03-30 08:17:43

1

033通過一切手段。

只能選擇自己填補數:

var byte = "0" + (num >> (8 * index_byte) & 0xFF); 
1

你可以使用String.jsjsxt

var fnumber = '%02d'.sprintf(num>>(8*index_byte) & 0xFF);