Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 它代表什么位内操作?_Java_Bit Manipulation - Fatal编程技术网

Java 它代表什么位内操作?

Java 它代表什么位内操作?,java,bit-manipulation,Java,Bit Manipulation,这些代码行代表什么 payloadType = header[1] & 127; sequenceNumber = unsigned_int(header[3]) + 256*unsigned_int(header[2]); timeStamp = unsigned_int(header[7]) + unsigned_int(header[6]) + 65536*unsigned_int(header[5])

这些代码行代表什么

payloadType = header[1] & 127;
sequenceNumber = unsigned_int(header[3]) + 256*unsigned_int(header[2]);
timeStamp = unsigned_int(header[7])
               + unsigned_int(header[6])
               + 65536*unsigned_int(header[5])
               + 16777216*unsigned_int(header[4]);
其中header是字节[12],unisigned_int方法如下:

private int unsigned_int(byte b) {
    if(b >= 0) {
        return b;
    }
    else {
        return 256 + b;
    }
}

谢谢你的回答

它正在将字节转换为整数

我认为这里有一个bug:

+ 256 * unsigned_int(header[6])
  ^^^^^
另外,与其写
x*256
x*65536
x*16777216
,不如写
x
从标题1中删除签名位/获取底部7位

sequenceNumber = unsigned_int(header[3]) + 256*unsigned_int(header[2]);
从标头中提取16位值

 timeStamp = unsigned_int(header[7])
           + unsigned_int(header[6])
           + 65536*unsigned_int(header[5])
           + 16777216*unsigned_int(header[4]);
从标头中提取32位值。正如马克·拜尔斯所观察到的那样

private int unsigned_int(byte b) {
     if(b >= 0) {
         return b;
     }
     else {
         return 256 + b;
     }
}
将-128到127之间的整数(即一个字节)转换为表示为整数的8位无符号整数。相当于

 return b & 255

问题是什么?代码以一种相当明显的方式操纵位。你在问什么?谢谢大家的回答和编辑我的帖子。我是stackoverflow的新手,我正在慢慢进入它的氛围。我也为我的英语道歉。保罗,我的问题正是关于这种明显的方式(对我来说不是,我是新的)的作用:unsigned_int(header[3])+256*unsigned_int(header[2])
 return b & 255