首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BitSet向后显示值?

BitSet向后显示值?
EN

Stack Overflow用户
提问于 2012-06-23 09:21:00
回答 1查看 244关注 0票数 4

我设置了以下代码在Java上运行:

代码语言:javascript
复制
BitSet bitSet = BitSet.valueOf(new byte[] { (byte)15 });
System.out.println(bitSet);

令我惊讶的是

代码语言:javascript
复制
{0, 1, 2, 3} //the indexes of the 1's in the bitset

而不是

代码语言:javascript
复制
{ 4, 5, 6, 7 }.

如果我没记错的话,2的补码中的15被写成00001111 (带有1个字节)。

这让我想知道为什么BitSet会向后显示索引。有什么合理的解释吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-23 09:23:21

引用BitSet的Java标准

返回此位集的字符串表示形式。对于此BitSet包含处于set状态的位的每个索引,该索引的十进制表示将包括在结果中。这些索引按从低到高的顺序列出,用",“(逗号和空格)分隔,并用大括号括起来,从而得到一组整数的常用数学表示法。

正如上面所说的,顺序是“从最低到最高”。这意味着首先是最低有效位(1位),最后是最高有效位。

排序(从左到右的符号顺序或从最小到最小的数字顺序)都是有意义的,尽管方式不同。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11166056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档