BigInteger > 32 位左移问题
BigInteger > 32 bit left shift issue
我正在将 BigInteger
视为一个大数字(实际上)并且我正在尝试对数字执行左移。因此,当我对数字执行 32 位左移时(我目前使用的是 2),我再次得到相同的数字(预期为整数)。
有什么方法可以增加用于存储数字的位数?我知道我可以使用 long
;但是,我想跨越 64 位限制。有什么办法可以做到吗?
如果没有看到任何实际代码,很难准确地说出您的问题是什么,但请注意 BigInteger
实例是不可变的。如果您编写 aBigInt.shiftLeft(32)
,则不会更改 aBigInt
引用的实例。相反,返回一个带有操作结果的新 BigInteger
实例。尝试:aBigInt = aBigInt.shiftLeft(32)
。
我正在将 BigInteger
视为一个大数字(实际上)并且我正在尝试对数字执行左移。因此,当我对数字执行 32 位左移时(我目前使用的是 2),我再次得到相同的数字(预期为整数)。
有什么方法可以增加用于存储数字的位数?我知道我可以使用 long
;但是,我想跨越 64 位限制。有什么办法可以做到吗?
如果没有看到任何实际代码,很难准确地说出您的问题是什么,但请注意 BigInteger
实例是不可变的。如果您编写 aBigInt.shiftLeft(32)
,则不会更改 aBigInt
引用的实例。相反,返回一个带有操作结果的新 BigInteger
实例。尝试:aBigInt = aBigInt.shiftLeft(32)
。