Java BigInteger,切断了最后一位数字

Mil*_*lan 1 java optimization performance biginteger

相当容易,如果BigInteger数字是543,我希望它切断最后一位数,使其为54.

两种简单的方法可以是:

  1. 使用字符串,获取子字符串并使用新值创建新的biginteger.
  2. 使用数字10的BigIntegers除法.(543/10 = 54.3 => 54)

事情是,我将这个表演了很多具有当然的大整数的时候.

我的猜测是,用字符串来玩会慢一些,但是我又没有那么多地使用Bigintegers,也不知道"除法"操作有多昂贵.

速度在这里是必不可少的,实现这个的最快方法是什么(内存只是速度没问题)?

其他解决方案也欢迎.

Pau*_*ier 5

除以10最有可能更快.

  • 我确实编写了一个微基准测试,根据数字的大小,划分速度提高了4倍到30倍.数字越长,它的比例越高. (3认同)