我有一个小问题。我有 5421、-1 和 1 等数字。我需要以四个字节打印它们,例如:
5421 -> 0x0000152D
-1 -> 0xFFFFFFFF
1 -> 0x00000001
另外,我有浮点数,如 1.2、58.654:
8.25f -> 0x41040000
8.26 -> 0x410428f6
0.7 -> 0x3f333333
我需要将两种类型的数字转换为其十六进制版本,但它们必须恰好是四个字节长(四对十六进制数字)。
有谁知道这在Java中怎么可能?请帮忙。
这里有两个函数,一个用于整数,一个用于浮点。
public static String hex(int n) {
// call toUpperCase() if that's required
return String.format("0x%8s", Integer.toHexString(n)).replace(' ', '0');
}
public static String hex(float f) {
// change the float to raw integer bits(according to the OP's requirement)
return hex(Float.floatToRawIntBits(f));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)