有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java BigInteger>32位左移位问题

我将BigInteger视为一个大数字(实际上),并尝试对该数字执行左移位。因此,当我对数字执行32位左移位(我当前使用的是2)时,我再次得到相同的数字(这是一个整数)

有没有办法增加用于存储数字的位数?我知道我可以用long;但是,我想越过64位限制。我有办法做到吗


共 (1) 个答案

  1. # 1 楼答案

    在看不到任何实际代码的情况下,很难准确地说出问题所在,但请注意BigInteger实例是不可变的。如果写入aBigInt.shiftLeft(32)aBigInt引用的实例不会更改。相反,将返回一个新的BigInteger实例以及操作结果。试试看:aBigInt = aBigInt.shiftLeft(32)