我已经设置了以下使用 Java 运行的代码:
BitSet bitSet = BitSet.valueOf(new byte[] { (byte)15 });
System.out.println(bitSet);
令我惊讶的是打印出来的
{0, 1, 2, 3} //the indexes of the 1's in the bitset
代替
{ 4, 5, 6, 7 }.
如果我没记错的话,2 的补码中的 15 写为 00001111(有 1 个字节)。
这让我想知道为什么 BitSet 会向后显示索引。有什么合理的解释吗?
最佳答案
引用 BitSet
的 Java 标准:
正如这所说,顺序是“从最低到最高”。这意味着最低有效位(位)在前,最高有效位在后。
排序(从左到右的符号顺序或从最少到最多的数字顺序)都是有意义的,尽管方式不同。
关于java - BitSet 向后显示值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11166056/