bitset移位 在java里,Bitset类左/右移位怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.util.BitSet中与,或,抑或等逻辑操作都提供了相应的方法.移位操作没有,这个集合不能满足你的要求的话可以考虑自己实现一个BitSet类,没见到过类似的需求.你可以自己先读一下这个类的代码. http://java.sun.com/j2se/1.4.2/docs/api/java/util/BitSet.html 看看吧,可能有帮助,如果还没看的话:) 哥们儿.没办法了.只能自己写相应的moveRigth(),moveLife()方法了.我写了一个.供朋友们讨论:import java.util.BitSet;public class Test extends BitSet{ private static final long serialVersionUID = 1L; public static BitSet moveLeft(BitSet bs,int count) { if(bs == null || bs.isEmpty()) { return bs; } BitSet b = bs.get(count, bs.size()); return b; } public static BitSet moveRigth(BitSet bs,int count) { if(bs == null || bs.isEmpty()) { return bs; } BitSet b = new BitSet(); int bsSize = bs.size() - count; for (int i = 0; i < bsSize; i++) { b.set(count++ , bs.get(i)); } return b; } /** * @param args */ public static void main(String[] args) { BitSet b = new BitSet(); b.set(0,10, true); BitSet bs = moveLeft(b,3); for (int i = 0; i < 64; i++) { if (i<10) { System.out.println("0"+i+"=="+bs.get(i)); } else { System.out.println(i+"=="+bs.get(i)); } } BitSet b1 = new BitSet(); b1.set(0,10, true); BitSet bs1 = moveRigth(b,3); System.out.println("\n"); for (int i = 0; i < 64; i++) { if (i<10) { System.out.println("0"+i+"=="+bs1.get(i)); } else { System.out.println(i+"=="+bs1.get(i)); } } }} java NIO通信中,连接重新建立后出现的问题 如何保持SOCKET连接 内部类能不能访问外部类中的方法中的变量? .NET的出现, 是不是用java做图形用户界面的人越来越少了呢? 这个程序里面为什么要用静态常量? 这个是什么错误 帅哥们来看看java多线程问题! jbuilder中显示的一个小问题 关于线程意外崩溃等几个问题? 请问电信记费软件的开发原理是什么? 求javax.media包 HSSF的问题,高手请进
中与,或,抑或等逻辑操作都提供了相应的方法.
移位操作没有,这个集合不能满足你的要求的话可以考虑自己实现一个BitSet类,没见到过类似的需求.
你可以自己先读一下这个类的代码.
供朋友们讨论:
import java.util.BitSet;public class Test extends BitSet{
private static final long serialVersionUID = 1L;
public static BitSet moveLeft(BitSet bs,int count) {
if(bs == null || bs.isEmpty()) {
return bs;
}
BitSet b = bs.get(count, bs.size());
return b;
}
public static BitSet moveRigth(BitSet bs,int count) {
if(bs == null || bs.isEmpty()) {
return bs;
}
BitSet b = new BitSet();
int bsSize = bs.size() - count; for (int i = 0; i < bsSize; i++) {
b.set(count++ , bs.get(i));
}
return b;
}
/**
* @param args
*/
public static void main(String[] args) {
BitSet b = new BitSet();
b.set(0,10, true); BitSet bs = moveLeft(b,3);
for (int i = 0; i < 64; i++) {
if (i<10) {
System.out.println("0"+i+"=="+bs.get(i));
} else {
System.out.println(i+"=="+bs.get(i));
}
}
BitSet b1 = new BitSet();
b1.set(0,10, true); BitSet bs1 = moveRigth(b,3);
System.out.println("\n");
for (int i = 0; i < 64; i++) {
if (i<10) {
System.out.println("0"+i+"=="+bs1.get(i));
} else {
System.out.println(i+"=="+bs1.get(i));
}
}
}
}