2017-10-10 99 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