获取十六进制数字的数字

时间:2014-03-21 18:55:32

标签: java hex

int n= 0x234;

这实际上会将564存储在n中,但是如果我想要访问并操作2,3和4会怎样?

2 个答案:

答案 0 :(得分:6)

十六进制数字非常容易获取:要访问数字k的值,从右边开始计算,将值右移4*k,并使用& 0x0F进行掩码。

int n= 0x234;
int digit2 = (n >> 2*4) & 0x0F; // Gives you 2
int digit1 = (n >> 1*4) & 0x0F; // Gives you 3
int digit0 = (n >> 0*4) & 0x0F; // Gives you 4

答案 1 :(得分:0)

这个怎么样:

ByteBuffer bb = ByteBuffer.allocate(4);
bb.putInt(0x234);
for (byte b : bb.array()) {
    System.out.print(String.format("%02X ", b) + " "); //00 00 02 34
}