【发布时间】:2018-07-06 23:03:17
【问题描述】:
我必须以某种方式在 Java 中处理一个 8 字节的无符号整数类型。
我的 8 字节无符号整数存储在由 ByteBuffer 包装的字节数组中。它来自数据记录器数据库,包含非常大的数字。
这就是我处理 4 字节整数以将它们读取为无符号的方式:
((long) (bytebuffer.getInt() & 0xFFFFFFFFL));
不幸的是:
((BigInteger) (bytebuffer.getLong() & 0xFFFFFFFFFFFFFFFFL));
没用。
如何存储数字2^64-1并将其读取为2^64-1?
【问题讨论】:
-
不是问题本身的答案,但
BigInteger(int signum, byte[] magnitude, int off, int len)可能对您有用,因为您从byte数组开始。