我有十六进制值03E7,它是type.i中的字符串。需要在此字符串中应用2s compliment。结果十六进制值应该是字符串格式.i首先将其转换为二进制然后转换。是否有任何简单的方法?
答案 0 :(得分:2)
负数是正数的2的补码,反之亦然,所以我想你可以将你的字符串解析为int
,乘以-1,然后将其解析回生成的十六进制字符串。
int intVal = Integer.parseInt("03E7", 16);
String twosComplement = Integer.toHexString((-1 * intVal));