拆分BigInteger,Count Digits?

时间:2011-11-02 05:49:29

标签: java split biginteger

你有没有机会想到一个将BigInteger分成两半的有效方法,即如果数字是12345678,它会被分成1234?我在想我可以将它改成字符串并使用子字符串,但我不确定这是否是最快的方法。

您是否也知道如何计算BigInteger中的位数?我知道你可以做一点Length和bitCount,但我认为这些是两个补充。我想跟踪我拆分它们的位置?

3 个答案:

答案 0 :(得分:3)

    BigInteger bi = new BigInteger("12345678");
    String numStr = bi.toString();
    System.out.println(numStr.substring(0,numStr.length()/2));

答案 1 :(得分:1)

有人问如何计算二进制数中的小数位数:https://math.stackexchange.com/questions/3987/how-to-calculate-the-number-of-decimal-digits-for-a-binary-number

似乎并非无足轻重。所以你很可能必须转换为String并从那里开始工作。

答案 2 :(得分:1)

转换为String可能是你最好的选择,因为它听起来像是在寻找'文本'的半点和长度,这不是“数字”表示所提供的。