所以我有这个任务来模拟分配数据。它是这样的用int数组模拟数据分配
其一个int []数组,其在二进制元素组成分配表等:
INT [0] = 0xFF的= 1111 1111;
1被认为是自由和0分配
如果调用get()方法(还可以得到(INT),其中int是要分配的比特数),那么它找到的第一个块(free(int numbits)或free(int numbits,int fromIndex))将该位更改为1.示例:
data == 1111 0011
x.get(3);
data == 0001 0011
x.get(2);
data == 0001 0000
x.get();
data == 0000 0000
x.free(2);
data == 1100 0000
x.free(2,5);
数据== 1100 0110
int数组中的所有元素被压在一起,所以如果theres 2元素,二进制表示将是16 1位。分配必须能够在数组中的所有元素之间发生。
如何使用按位运算符和Integer.toBinaryString()方法实现此目的。 这是一个任务,所以我喜欢那里有更多的建议比实际的答案。希望我解释得很好。