o0oo0o0o0o0谁能帮我解释解释这个算法是怎么回事!!o0o0o0o0o0o0o0o0
public int readInt() throws IOException {
byte[] buf = new byte[4];
read(buf);//这个是inputStream里的read方法
return ((((((buf[3] & 0xFF) << 8) | // 主要是这几句
(buf[2] & 0xFF)) << 8) | // 主要是这几句
(buf[1] & 0xFF)) << 8) | // 主要是这几句
(buf[0] & 0xFF); // 主要是这几句
}
我的理解是用一个byte数组(长度4),来表示一个int型,
byte是2的8次方个数据, 一个byte是一个字节
int 是2的32次方个数据。 四个字节表示一个int。
为什么要取每个byte要与0xFF 与运算。
我想0XFF转成二进制应该是11111111.不知道对不对!!
请高手指点啊,分不是问题。
最好详细解释一下这个函数!
位置org.eclipse.swt.internal.image.LEDataInputStream
继承InputStream