回答
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