操纵两个大国的有效方式

bgu*_*uiz 0 java math largenumber bit-shift

编码2的幂的最有效方法是通过整数的位移.

1 << n 给我 2^n

但是,如果我的数字大于inta或a中允许的最大值long,我可以用什么来有效地操纵2的幂?

(我需要能够对数字执行加法,乘法,除法和模数运算)

ZZ *_*der 8

这是你需要的吗?

BigInteger hugeNumber = BigInteger.ONE.shiftLeft(n);
Run Code Online (Sandbox Code Playgroud)

这是n = 1000时的结果,

10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
Run Code Online (Sandbox Code Playgroud)