所以我有這個任務來模擬分配數據。它是這樣的用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()方法實現此目的。 這是一個任務,所以我喜歡那裏有更多的建議比實際的答案。希望我解釋得很好。