System.out.print(Integer.toHexString(buf[i]&0xff)+" ");
System.out.print(Integer.toHexString(buf[i])+" ");
0xff起什么作用?
&是计算机实行的与操作,0xff是十六进制的表现形式 和二进制 1111 1111 是一样的, 代表一个字节;
&操作是两个对相应相等的 才相等 比如 1000 0101 & 0001 0001 ---> 结果就是 0000 0001
题上用 & 0xff 就是为了截取 低8位 作为一个字节 存入字节数组中去