我正在尝试将字节转换为整数。我所做的所有搜索都使用 byte[],我假设它是任何数组。我想转换 F 字节(不是如下所示的 b),但它给出了更改错误:不适用于参数。
byte F;
mmInStream.read(packetBytes);
b [counter]= packetBytes[0];
F=b [counter];
counter++;
temp = byteToInt(b); //Convert byte to int
这是我在其中一个网站上找到的一个 byte To Int。
private int byteToInt(byte[] b) {
int value= 0;
for(int i=0;i<b.length;i++){
int n=(b[i]<0?(int)b[i]+256:(int)b[i])<<(8*i);
value+=n;
}
return value;
}
最佳答案
简单地做:
byte b = ...;
int signedInt = b; // For negative bytes, resulting in negative ints
int unsignedInt = 0xFF & b; // For negative bytes, resulting in positive ints
仅供引用:int
是 4 个字节。因此,这就是您在互联网上找到的方法使用字节数组的原因。他们假设您传递一个 4 字节数组,该数组将被拼接在一起形成一个 int。
关于java - 字节到整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744461/