回答
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. 将字节转换为位集
- 6. 将RGB8字节[]转换为位图
- 7. 将字节转换为位图图像
- 8. 将字节转换为python中的位
- 9. 将位图转换为字节数组
- 10. 将字节转换为GB,位于php
- 11. 如何将数字转换为字节?
- 12. 从字节转换为7位字节
- 13. 如何将字符串和位图转换为字节数组?
- 14. 如何将字节转换为小数?
- 15. 如何将Silverlight ImageSource转换为字节[]?
- 16. 如何将char转换为字节?
- 17. 如何将流转换为字节()
- 18. 如何将ctypes转换为字节
- 19. 如何将int转换为字节?
- 20. 如何将POI HSSFWorkbook转换为字节?
- 21. 如何将NSString转换为字节
- 22. 如何将字节[]转换为BitmapImage?
- 23. 如何将字节数组转换为位图
- 24. 如何将EPSON ESC/P字节流转换为位图?
- 25. 如何将zip文件转换为八位字节流
- 26. 如何将24位整数转换为3字节数组?
- 27. 如何将位掩码转换为vb.net中的字节数组
- 28. Android:如何将字节数组转换为位图?
- 29. 如何将字节数组转换为位图实例(.NET)?
- 30. 位/字节转换
谢谢大家了!:)我尝试了所有下面给出的东西,但我所做的事情是我从阵取单个字节,然后我采用的方法Integer.toBinaryString(字节值)。它给了我期望的输出。 – Supereme 2010-11-04 16:49:49