比较十六进制和十进制值

时间:2009-04-03 09:15:49

标签: java core

我有十六进制和十进制值存储的字节数组,我想搜索十六进制1我是SOH我怎么能在java中这样做,plz给出一个示例代码。 int SOH = 0X01; 如果(SOH == 1)

显示为真。这是对的吗?

3 个答案:

答案 0 :(得分:5)

您的字节数组只存储字节值。十六进制(或十进制或八进制)只是源代码中该值的表示。一旦存储,它们都是相同的值,例如。

0x01 == 1 == 01 

(最后一个是八进制)

因此,检查特定值是相同的代码。如果值已经知道,则表示为hex / dec / oct。

答案 1 :(得分:1)

如何将字节数组中的数据存储为十六进制和十进制? 字节数组包含字节。

        byte[] decimal = new byte[] {1,10 };
        byte[] hexa = new byte[] {0x1,0xa };

这些包含相同的值,您可以直接比较它们,您不需要任何特定的代码。

答案 2 :(得分:0)

不确定这是否能真正解决您的问题

private static final byte SOH = 1;  // or 0x01 if you prefer, is the same value

byte[] data = ...

for (int i = 0; i < data.length; i++) {
    if (data[i] == SOH) {
        // do what you need
        break;   // don't if you want to find all SOH
    }
}