Java:实现无符号128位整数

时间:2009-07-08 09:01:32

标签: java integer implementation

首先我应该问:
有谁知道当前的实现128b UINT for Java?

我需要一些东西来保持自然的基数值。即:一个巨大的柜台 我知道BigIntegers,它是缓慢且不可变的。 128b UINT很有意义......

我正在考虑使用一对原始long来实现OWORD。

溢出会抛出异常,而不是环绕。

我应该使用哪些示例源代码/博客来实现此类的工作方式?

3 个答案:

答案 0 :(得分:4)

我会使用32位整数作为表示,因为你需要一个更大的类型(long)来获得进位,溢出检测和乘法的额外精度。将32位整数视为数字并应用小学的算法。

答案 1 :(得分:3)

不要告诉我你计划拥有128个静态定位器和吸气剂,每个位一个???我明确地将setBit(int index,boolean value)和getBit(int index)作为实例方法。

你需要的更多东西:一个toString()方法,这样你就可以获得一个人类可读的表示形式(我想在某些时候你会想要打印数字)。

请记住,java中的所有序数类型都是有符号的(char除外),所以如果你打算使用两个long,请记住,下半部分可能会出现问题,因为检测溢出等等... ,你将得到一个127位的数字,除非因为下半部分将被视为63位无符号。

答案 2 :(得分:0)

为什么不使用BigInteger?