2017-10-10 95 views
0

有沒有辦法獲得一個整數的2個偏移量?Android:如何獲得一個整數的十六進制偏移量

例如,如果我有:

int a= 5; 
int b= 300; 

我需要一種方式來獲得這兩個數字的十六進制偏移:

String offseta_1 = "00"; 
String offseta_2 = "05"; 
String offsetb_1 = "01"; 
String offsetb_2 = "2c"; 

int offseta_1_int = 0; 
int offseta_2_int = 5; 
int offsetb_1_int = 1; 
int offsetb_2 = 44; 

如何才能做到這一點在android中?

+0

你的意思是一個簡單的轉變詮釋爲十六進制字符串和十六進制字符串回到Int? – LenglBoy

+0

沒有。我需要數字的2字節偏移量。如果整數只有1個字節(不超過255),那麼我得到高位偏移量00,並降低該數字的十六進制數:5 = 0x0005。如果int超過255,那麼上下偏移表示該數字。例如:300 = 0x012c – sammar

+0

現在我明白你想要什麼 - 對不起。所以只需設置你的最小和最大值,然後轉換它。最後它應該是1或2個If-Statements。 – LenglBoy

回答

0

轉換DEC整數到十六進制字符串:

int i = 55; 
String hexString = Integer.toHexString(i); // = "0x37" OR "37" 

十六進制字符串轉換爲DEC-INTEGER:

// can be lower- and uppercase 
// "0x" is optional, but hex-numbers should be marked like this 
String hexString = "0xAF"; 
int decimalInt = Integer.parseInt(hexNumber, 16); // = 175 
+0

我知道這一點,但我需要有2偏移量(上和下)。如果整數中的第三個數字是55,那麼上面的偏移量就是00,而下面的偏移量是37.我需要某種函數來確定這個。枯萎數超過255。 – sammar