java BigInteger>32位左移位问题
我将BigInteger
视为一个大数字(实际上),并尝试对该数字执行左移位。因此,当我对数字执行32位左移位(我当前使用的是2)时,我再次得到相同的数字(这是一个整数)
有没有办法增加用于存储数字的位数?我知道我可以用long
;但是,我想越过64位限制。我有办法做到吗
你可以在下面搜索框中键入要查询的问题!
我将BigInteger
视为一个大数字(实际上),并尝试对该数字执行左移位。因此,当我对数字执行32位左移位(我当前使用的是2)时,我再次得到相同的数字(这是一个整数)
有没有办法增加用于存储数字的位数?我知道我可以用long
;但是,我想越过64位限制。我有办法做到吗
# 1 楼答案
在看不到任何实际代码的情况下,很难准确地说出问题所在,但请注意
BigInteger
实例是不可变的。如果写入aBigInt.shiftLeft(32)
,aBigInt
引用的实例不会更改。相反,将返回一个新的BigInteger
实例以及操作结果。试试看:aBigInt = aBigInt.shiftLeft(32)