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

tzxcd3kk  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(603)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

上个月关门了。
改进这个问题
我得到了一个任务,我需要写一个代码,将二进制数转换成十进制数在 String . 主要的问题是二进制位的长度可以是 Integer.MAX_VALUE (意思是一行中数字1的2^31倍),我不能使用 BigInteger .
我知道将二进制数转换成十进制数的算法,但我不知道如何将“1111….111”(最多33次)转换成十进制数。

yeotifhr

yeotifhr1#

大整数使用 import java.math.BigInteger; 图书馆。在十进制中转换 decimal=Integer.parseInt(binaryString,2);

exdqitrt

exdqitrt2#

让我们来解开你的问题,因为它有两个部分。
二进制位长度可以和integer.max\u值一样长(这意味着一行中数字1的2^31倍),我不能使用biginteger。
出于上述考虑,我建议你到这里来看看。现在,我已经为你做了谷歌搜索。既然你说你知道转换的算法,为什么不继续计算任何字符串在转换成数字时可能出现的最大值,并试着找出java中什么数字类型可以容纳这个值呢。当然,这是假设您可以返回任何数字类型的十进制数。
关于算法,下面是问题的第二部分:
我知道将二进制数转换成十进制数的算法,但我不知道如何将“1111….111”(最多33次)转换成十进制数。
我们就是这样开始的。。。不知道怎么写代码!我建议一个 for 循环可以方便地解析所提供的 string ,但这是我现在给你的最重要的提示。试着找出答案,写一些代码,如果你想的话,在网上做更多的搜索(尽管写代码的过程会更快,也会拉伸你的大脑肌肉!)。
还是卡住了?回来,我们再讨论。但是,有一些代码可以显示!

相关问题