【发布时间】:2012-01-02 13:23:52
【问题描述】:
我有一个 byte[5] 数组,当打印为十六进制字符串时,它代表一个十进制数。两个数字可以存储在一个字节中,不使用十六进制字符。 例如
[0x11,0x45,0x34,0x31,0x21] -> 1145343121.
在 Java 中是否有更有效的方法(可能是一些移位魔法)来转换为十进制数而不是
long result = Long.parseLong(byteToHexString(bytes[]));?
反之亦然的有效转换也会很有趣...
【问题讨论】:
-
你牺牲了很多 CPU 周期,却只获得很少的内存。
-
其实我也不是这么选择的... ;)