我有BigInt

BigInteger i = new BigInteger("5876934265987526278534978564378568734564937563487564327564376534875483753475");


我需要将其转换为[] int。我该如何快速完成?

我的方法很慢

private static int[] convertDigitsToIntArray(java.math.BigInteger x) {
    String s = x.toString();
    int[] result = new int[s.length()];
    for (int i = 0; i < s.length(); i++) {
        result[i] = Integer.parseInt(String.valueOf(s.charAt(i)));
    }
    return result;
}

最佳答案

将其转换为字符串,然后迭代字符:

int[] getArr(BigInteger num)
{
    String str = num.toString();
    int[] arr = new int[str.length()];
    for (int i=0; i<arr.length; i++)
         arr[i] = str.charAt(i)-'0';
    return arr;
}

关于java - 将BigInteger转换为int数组的更快方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23583173/

10-12 00:33
查看更多