在java中的十六进制字符串中应用2的补码

时间:2014-02-21 13:34:17

标签: java string hex twos-complement

我有十六进制值03E7,它是type.i中的字符串。需要在此字符串中应用2s compliment。结果十六进制值应该是字符串格式.i首先将其转换为二进制然后转换。是否有任何简单的方法?

1 个答案:

答案 0 :(得分:2)

负数是正数的2的补码,反之亦然,所以我想你可以将你的字符串解析为int,乘以-1,然后将其解析回生成的十六进制字符串。

int intVal = Integer.parseInt("03E7", 16);
String twosComplement = Integer.toHexString((-1 * intVal));