Java 左/右位移位-为什么要按字节长度移位

Java 左/右位移位-为什么要按字节长度移位,java,bit-manipulation,bitwise-operators,Java,Bit Manipulation,Bitwise Operators,我一直在读这个关于网络包中位操作的博客。我有这段代码,我看到它的读数是一个整数,通常是4字节长(32位) public int readInt(){ return(pData[caret++]&0xff)这是因为pData是一个字节数组。readInt()的作用是将4个字节打包成一个整数,然后返回结果。因为整数是4个字节,所以by((value&0xff)您遵循的是什么教程,为什么不解释这一部分?您是否使用给定的输入尝试了此代码,并查看了它实际生成的内容?什么是pData?它设置了正确的值。似乎

我一直在读这个关于网络包中位操作的博客。我有这段代码,我看到它的读数是一个整数,通常是4字节长(32位)

public int readInt(){

return(pData[caret++]&0xff)这是因为pData是一个字节数组。readInt()的作用是将4个字节打包成一个整数,然后返回结果。因为整数是4个字节,所以by
((value&0xff)您遵循的是什么教程,为什么不解释这一部分?您是否使用给定的输入尝试了此代码,并查看了它实际生成的内容?什么是
pData
?它设置了正确的值。似乎pData包含最低索引上的最高有效字节。^^请注意,没有“未签名的”在java中,有时您可能会遇到
long
用于网络中的无符号int。@Fildor
char
在Java@phuclv这是一个特例,但是是的。另一方面,我没有看到字符被用于无符号数字。。。