我有一个作业,其中我实现了一个 BinaryNumber 类,该类具有一个 BitList,首先将二进制数表示为 lsb。
我现在想要实现一个函数来打印二进制数的十进制值,即使它比 int、long 或任何一种数据类型大得多。例如:
BinaryNumber fib100 = new BinaryNumber("354224848179261915075")
//
100110011001111011011011
101101010011111000101100
101001011111111000011//
System.out.println(fib100.toIntString()); // prints 354224848179261915075
我尝试添加一个字段来存储我在其中启动 BinaryNumber 的十进制值,但不幸的是我不允许这样做。
是否有任何我找不到的算法可以帮助我将二进制数转换为十进制字符串,而不存储值并且需要一个不是字符串的变量?
您可以在 Java 中将二进制数转换为十进制字符串,而无需使用额外的变量
String binaryString = "1101";
BigInteger decimal = new BigInteger(binaryString, 2);
System.out.println(decimal.toString());