首先我要问:
有没有人知道 Java 的当前实现 128b UINT?
我需要一些东西来保持自然的基本价值观。即:一个巨大的柜台。
我知道 BigIntegers,它是缓慢且不可变的。128b UINT 是有道理的......
我正在考虑使用一对原始的 long 来实现一个 OWORD。
溢出会抛出异常而不是 Wraparound。
我应该寻找哪些示例源代码/博客来实现此类的工作?
首先我要问:
有没有人知道 Java 的当前实现 128b UINT?
我需要一些东西来保持自然的基本价值观。即:一个巨大的柜台。
我知道 BigIntegers,它是缓慢且不可变的。128b UINT 是有道理的......
我正在考虑使用一对原始的 long 来实现一个 OWORD。
溢出会抛出异常而不是 Wraparound。
我应该寻找哪些示例源代码/博客来实现此类的工作?
我会使用 32 位整数作为表示,因为您需要更大的类型(long)来获得进位、溢出检测和乘法的额外精度。将 32 位整数视为一个数字并应用小学的算法。
不要告诉我你打算有128个静态setter和getter,每个bit一个???我肯定会选择 setBit(int index, boolean value) 和 getBit(int index) 作为实例方法。
你需要更多的东西:一个 toString() 方法,这样你就可以获得人类可读的表示(在某些时候你会想要打印数字,我想)。
请记住,java 中的所有序数类型都是有符号的(char 除外),因此如果您打算使用两个 long,请始终记住,较低的部分可能会导致检测溢出等问题......无论如何,您将有一个 127 位的数字,除非因为较低的部分将被视为 63 位无符号数。
为什么不使用 BigInteger?