回答
byte ar[] ;
byte b = ar[0];//you have 8 bits value here,if I understood your Question correctly :)
如果你只需要在二進制它的字符串表示,你可以簡單地使用Integer.toString()
設置爲2二進制可選的第二個參數。
在執行常規位操作上的任何整數類型,你必須使用邏輯與位移操作符。
// tests if bit is set in value
boolean isSet(byte value, int bit){
return (value&(1<<bit))!=0;
}
// returns a byte with the required bit set
byte set(byte value, int bit){
return value|(1<<bit);
}
Java有bitwise operators
。見a tutorial example。
Java編程語言還提供了對整型類型執行按位和位移操作的運算符。本節討論的操作符不太常用。因此,他們的報道很簡短;目的只是讓你意識到這些運營商的存在。
一元按位求補運算符「〜」反轉的位模式;它可以應用於任何整型,使得每個「0」爲「1」,每個「1」爲「0」。例如,一個字節包含8位;將該運算符應用於位模式爲「00000000」的值將其模式更改爲「11111111」。
A byte
值是不可或缺的,您可以使用掩蔽操作檢查位狀態。 最低顯著位對應於面膜1
或0x1
,下位對應0x2
等
byte b = 3;
if((b & 0x1) == 0x1) {
// LSB is on
} else {
// LSB is off
}
'if(b&0x1)'不能編譯。你必須使用'if(b&0x1 == 0x1)' – 2010-11-04 10:17:00
謝謝。Java不是C ;-) – gimel 2010-11-04 10:24:09
您可能會發現沿着你正在尋找在Guava Primitives包什麼東西行。
或者,你可能想寫點東西像
public boolean[] convert(byte...bs) {
boolean[] result = new boolean[Byte.SIZE*bs.length];
int offset = 0;
for (byte b : bs) {
for (int i=0; i<Byte.SIZE; i++) result[i+offset] = (b >> i & 0x1) != 0x0;
offset+=Byte.SIZE;
}
return result;
}
那不是測試,但這個想法是存在的。還可以輕鬆修改循環/賦值以返回其他數組(例如,int
或long
)。
除非你使用了「elsewise」這個詞,否則會給出這個+1。 – 2010-11-04 11:26:59
你可能要看看源代碼,如果你不使用的Java 7
嗯,我想我得到你的意思它是如何實現的。現在一個相當大的錯誤是,它不適用於負數。但是,假設你沒有使用它來讀取文件輸入,你可能仍然可以使用它。
public static ArrayList<Boolean> toBitArr(byte[] bytearr){
ArrayList<Boolean> bitarr = new ArrayList<Boolean>();
ArrayList<Boolean> temp = new ArrayList<Boolean>();
int i = 0;
for(byte b: bytearr){
while(Math.abs(b) > 0){
temp.add((b % 2) == 1);
b = (byte) (b >> 1);
}
Collections.reverse(temp);
bitarr.addAll(temp);
temp.clear();
}
return bitarr;
}
- 1. 如何將位轉換爲字節?
- 2. 如何將字節[]轉換爲位圖?
- 3. 將字節轉換爲位
- 4. 如何將字節[]轉換爲字節[]
- 5. 如何將8位字節轉換爲6位字符?
- 6. 如何將字節數據轉換爲位並再次轉換回字節?
- 7. 將字節轉換爲位圖圖像
- 8. 將位圖轉換爲字節數組
- 9. 將字節轉換爲python中的位
- 10. 將位圖轉換爲字節[]
- 11. 將字節轉換爲GB,位於php
- 12. 將RGB8字節[]轉換爲位圖
- 13. 將字節轉換爲位集
- 14. 如何將數字轉換爲字節?
- 15. 從字節轉換爲7位字節
- 16. 如何將字符串和位圖轉換爲字節數組?
- 17. 如何將兩個字節轉換爲一個16位數字?
- 18. 如何將圖像轉換爲字節[]?
- 19. 如何將MultipartFile轉換爲字節流
- 20. 如何將int轉換爲字節?
- 21. 如何將流轉換爲字節()
- 22. 如何將POI HSSFWorkbook轉換爲字節?
- 23. 如何將CString轉換爲字節?
- 24. 如何將字節轉換爲mb?
- 25. 如何將ref字節轉換爲byte []?
- 26. 如何將ASCII轉換爲字節?
- 27. 如何將.gif轉換爲字節[] []?
- 28. 如何將char轉換爲字節?
- 29. 如何將NSString轉換爲字節
- 30. 如何將字節轉換爲小數?
謝謝大家了!:)我嘗試了所有下面給出的東西,但我所做的事情是我從陣取單個字節,然後我採用的方法Integer.toBinaryString(字節值)。它給了我期望的輸出。 – Supereme 2010-11-04 16:49:49