-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBitsArray.java
33 lines (31 loc) · 995 Bytes
/
BitsArray.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class BitsArray{
private String bits;
BitsArray(int numBits,int value){
this.bits=String.format("%"+numBits+"s",Integer.toBinaryString(value)).replaceAll(" ","0");
}
BitsArray(String part){
this.bits=part;
}
String getBits(){
return bits;
}
int getValue(){
return Integer.parseInt(this.bits,2);
}
BitsArray getRange(int startingInd,int endingInd){
return new BitsArray(this.bits.substring(startingInd, endingInd));
}
BitsArray setRange(int startingInd,int endingInd,BitsArray bitStream){
return new BitsArray(this.getBits().substring(0, startingInd)+bitStream.getBits()+this.getBits().substring(endingInd, 40));
}
boolean isEmpty(){
return String.format("%"+this.bits.length()+"d",0).replaceAll(" ","0").equals(this.bits);
}
}
class MixedReturn{
Runnable runnable;int interger;
MixedReturn(int i,Runnable r){
this.interger=i;
this.runnable=r;
}
}