Java 将二进制数转换为字符串中的十进制数

Java 将二进制数转换为字符串中的十进制数,java,binary,Java,Binary,我得到了一个任务,需要编写一个代码,将字符串中的二进制数转换为十进制数。 主要问题是二进制位长度可以与Integer.MAX_VALUE一样长(这意味着一行中数字1的2^31倍),并且我不能使用biginger 我知道将二进制数转换为十进制数的算法,但我不知道如何编写将“1111…111”(最多33次)转换为十进制数的代码。让我们解开你的问题,因为它实际上有两个部分 二进制位长度可以和INTEGER.MAX_值一样长(这意味着一行中数字1的2^31倍),我不能使用biginger 出于上述考虑,

我得到了一个任务,需要编写一个代码,将
字符串中的二进制数转换为十进制数。
主要问题是二进制位长度可以与
Integer.MAX_VALUE
一样长(这意味着一行中数字1的2^31倍),并且我不能使用
biginger


我知道将二进制数转换为十进制数的算法,但我不知道如何编写将“1111…111”(最多33次)转换为十进制数的代码。

让我们解开你的问题,因为它实际上有两个部分

二进制位长度可以和INTEGER.MAX_值一样长(这意味着一行中数字1的2^31倍),我不能使用biginger

出于上述考虑,我建议你去看看。现在,我甚至为你做了谷歌搜索。既然你说你知道转换的算法,为什么不继续计算任何字符串在转换成数字时可能出现的最大值,并试着找出Java中的数字类型可以容纳这个值。当然,这是假设您可以返回任何数字类型的十进制数

关于算法,这里是问题的第二部分:

我知道将二进制数转换为十进制数的算法,但我不知道如何编写将“1111…111”(最多33次)转换为十进制数的代码

我们就是这样开始的。。。不知道如何写代码!我建议使用
for
循环来解析所提供的
字符串的每个字符可能很方便,但这是我现在给您的最重要提示。试着找出答案,写一些代码,如果你愿意的话,在互联网上做更多的搜索(尽管写代码的过程会更快,也会拉伸你的大脑肌肉!)


还卡住吗?回来,我们再讨论。但是,有一些代码来显示它

对于大整数使用
导入java.math.biginger库。

要转换为十进制,请使用
decimal=Integer.parseInt(二进制字符串,2)

到目前为止您尝试了什么?