繁体   English   中英

如何修改BitSet类对象的各个位

[英]How to modify individual bits of a BitSet Class object

示例:我有一个120位的BitSet(010 * 0 * 001000 ......)。 现在我想将设置为零的第4位修改为1。

SET(4,TRUE)-像这样的东西。 可以用Java完成吗?

我可以通过cov = n将位集转换为Char []数组,然后更改确切的位,然后再次将其还原为Bitset来做到这一点,但是它使用了很多不必要的内存,并且会影响性​​能。 一个例子就好了。 如果需要更多说明,请通过您的评论告诉我。

位集API中的描述的Javadoc ,并有若干set(...)为设置或清除单个位的方法,或比特的范围。

BitSet b = ...
b.set(4, true);

阅读javadoc,以了解您是否为索引使用了正确的值。 (从零开始计数,从一开始计数。)

实际上,只需阅读javadoc。

是的,我们实际上可以做到。 BitSet类提供了用于设置和清除单个位的方法。

它有四种设定方法,具有不同的参数输入-

1.set(int bitIndex)-将指定索引处的位设置为true。

2.set(int bitIndex,boolean value)-将指定索引处的位设置为指定值。

3.set(int fromIndex,int toIndex)-将从指定的fromIndex(包括)到指定的toIndex(不包括)的位设置为true。

4.set(int fromIndex,int toIndex,boolean value)-将指定fromFromIndex(包括)到指定toIndex(不包括)的位设置为指定值。

虐待尝试尽快包括一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM