我已经设置了以下使用 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/

10-12 04:36