2 guang nate Guang_Nate 于 2015.06.12 18:51 提问

安卓开发中如何使一个byte类型的数组内的数据不显示成负数

在做Android开发的时候一个byte类型的数组result,里面有比较大的正数,需要做什么样的处理才能使他显示的全是正数;求大神指导,给个代码
byte[] result

for (int i = 0; i < result.length; i++)
Log.e("读出全部page", "byte " + i + " is " + result[i]);

3个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.06.12 21:59
已采纳
 for (int i = 0; i < result.length; i++){
             int highBit = result[i] & 0x80;
             int restBit = result[i] & 0x7F;             
             System.out.println(highBit+restBit);
        }
danielinbiti
danielinbiti 回复Guang_Nate: 如果有帮助,记得采纳一下哦
2 年多之前 回复
Guang_Nate
Guang_Nate 谢谢
2 年多之前 回复
91program
91program   Ds   Rxr 2015.06.12 18:55

需要额外的代码处理,将字节转换为无符号数(如将-1转换为无符号数)
byte b1 = -1
int n = b1 & 0xFF
输出:n=255

a1193561652
a1193561652   Rxr 2015.06.12 18:56

java好像没有unsigned byte,你可以换int,也可以自己写个函数把byte格式化成字符串输出。

Csdn user default icon
上传中...
上传图片
插入图片