azd*_*oud -7 java binary biginteger
我正在使用java,我正在尝试使用不同基数(2,8和10)的数字.
所以,我问这个问题是将字符串格式的二进制数改成基数为10的数字
例如110000001010100000000000000000111111/base 2
我尝试了Integer.parseInt(str,radix),但是我遇到了错误.exepetion""线程中的异常"main"java.lang.NumberFormatException:对于java.lang上的java.lang.NumberFormatException.forInputString(Unknown Source)java.lang.Integer.parseInt(Unknown Source)中的输入字符串:"110000001010100000000000000111111" .Integer.parseInt(未知来源)
BigInteger提供了一个BigInteger(String,int)构造函数,您可以在其中定义radix.您可以简单地创建两个实例,一个用于初始值,另一个用于1.你需要继续使用BigInteger#add.
完成此操作后,还有一个toString(radix)功能BigInteger,您可以在其中显示不同基数的结果.
public static void main(String[] args) {
BigInteger base = new BigInteger("11000000101010000000000111111111", 2);
BigInteger one = new BigInteger("1", 2);
BigInteger result = base.add(one);
System.out.println(result.toString(2));
}
Run Code Online (Sandbox Code Playgroud)
产量
11000000101010000000001000000000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |