BigInteger的数量级最小化

时间:2013-03-12 14:14:56

标签: java biginteger bits

关于BigInteger幅度的表示,source code of BigInteger class必须说明这一点:

  

这个BigInteger的大小,以大端顺序:第0个   该数组的元素是数量级中最重要的元素。   在最重要的int中,幅度必须是“最小的”   (mag [0])必须为非零。这是确保有必要的   每个BigInteger值只有一个表示。请注意这一点   意味着BigInteger零点具有零长度磁力阵列。

minimality 在这种情况下的重要性是什么意思?另外,如何使最重要的int非零确保完全每个BigInteger值的一个表示?

1 个答案:

答案 0 :(得分:7)

大致翻译,这就是说BigIntegers在表示中不应该有前导零。使用“minimal”这个词是因为用这种方式表示的BigInteger用最小长度的数组表示(因为除了前导零之外相同的数组将代表相同的BigInteger,因此不会有“每个只有一个表示” BigInteger值“)。

编辑添加:当然,值0可以用长度为0的数组表示,从而确保不违反“最重要的int不能为零”的要求。