Java 这部分代码的作用:biginger.valueOf(counter.testBit(j)

Java 这部分代码的作用:biginger.valueOf(counter.testBit(j),java,biginteger,Java,Biginteger,有一段代码我不明白。你能解释一下它的作用吗 for (int counter = 1; counter < opsize; counter++) { for (int j = 0; j < n; j++) { if (BigInteger.valueOf(counter).testBit(j)) { System.out.print(arr[j]+" "); } System.out.println();

有一段代码我不明白。你能解释一下它的作用吗

for (int counter = 1; counter < opsize; counter++) {
    for (int j = 0; j < n; j++) {
        if (BigInteger.valueOf(counter).testBit(j)) {
            System.out.print(arr[j]+" ");
        }
        System.out.println();
    }
}
如果位置i处的位设置为true或notfalse,则BigInteger的testBitint i方法返回布尔值。 因此,该代码检查是否设置了第j位,如果返回true,则在索引j处打印数组arr元素