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)代码>到目前为止您尝试了什么?