0
我的目標是按原樣將二進制序列存儲到BitSet中,而不會丟失序列末尾的任何零的軌跡,並進一步從相同順序的BitSet中檢索序列。如何將二進制序列末尾的零存儲到BitSet(Java)中?
示例:如果有一個序列s = 00110100,
所有該序列的8位必須被存儲在位集合,並且必須以相同的順序進行檢索。
我的目標是按原樣將二進制序列存儲到BitSet中,而不會丟失序列末尾的任何零的軌跡,並進一步從相同順序的BitSet中檢索序列。如何將二進制序列末尾的零存儲到BitSet(Java)中?
示例:如果有一個序列s = 00110100,
所有該序列的8位必須被存儲在位集合,並且必須以相同的順序進行檢索。
http://docs.oracle.com/javase/7/docs/api/java/util/BitSet.html#BitSet(int)
如果忽略前導零你不會丟失任何信息,只是跟蹤你讀的比特數。我想你需要能夠打印前導零。您可以通過在printf函數中填充0來實現這一點。
String.format(「%05d」,yournumber);這會給你5個前導零。
http://download.oracle.com/javase/7/docs/api/java/util/Formatter.html
聽起來像是一個[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)給我。你爲什麼要強制一個'BitSet'去做一些它沒有設計的事情?一個bitset不關心你設置的值是001101還是1101或000001101.如果你想從右邊讀第5位,就這樣做。 – RealSkeptic
@RealSkeptic它不是XY問題,我正在做一些密碼學相關的工作,需要計算0和1的數量來執行計算,因此0和1對我都很重要.......... ......順便thanx 4你的建議。 –