的有沒有一種方法或一種方法來打印一個bitset的系列如1001011
如何打印位集合的一系列位
例如,下面的代碼位:
BitSet b = new BitSet(6);
b.set(1);
b.set(3);
b.set(4);
// I want to print b like 101100
System.out.println(b);
感謝
的有沒有一種方法或一種方法來打印一個bitset的系列如1001011
如何打印位集合的一系列位
例如,下面的代碼位:
BitSet b = new BitSet(6);
b.set(1);
b.set(3);
b.set(4);
// I want to print b like 101100
System.out.println(b);
感謝
只要掀起你自己的代碼。使用StringBuilder,你幾乎可以對集合進行任何操作。 這是一個簡單的實現:
BitSet bi = new BitSet(6);
bi.set(1);
bi.set(3);
bi.set(4);
StringBuilder s = new StringBuilder();
for(int i = 0; i < bi.length(); i++)
{
s.append(bi.get(i) == true ? 1: 0);
}
System.out.println(s);
我認爲OP想要打印它,因此最好將此位打印爲「1」或'0',而不是將其附加到緩衝區。另外,不應該循環運行另一種方式來考慮人類的排序嗎? –
這個問題似乎關心的是將bitset中的位打印爲一系列1和0。如果是這樣的話,我的回答是正確的。關於字節順序,據我所知,只有當你關心比特的意義時才使用,即如果數據代表了一些數字,然後我立即糾正。謝謝。 – funaquarius24
除了遍歷位,打印'b.get(i)? '1':'0',沒什麼明顯的。 –
http://stackoverflow.com/questions/34748006/how-to-convert-bitset-to-binary-string-effectivelly – maszter