理解字节数组上的按位运算

时间:2015-09-19 22:03:37

标签: java

我正在尝试开发一个程序来读取某种类型的文件,并在位级提取该文件的所有包信息。

数据包分为:

  • SYC:8位
  • TEI:1位
  • PSI:1位
  • TP:1位
  • PID:13位
  • TSC:2位
  • AFC:2位
  • CC:4位

我的问题是:如何分别获取这些位?例如,PID,5位在阵列的位置1和位置2的8位;如何从2个单独的字节中获取此信息并在之后对它们求和?

我有这个示例代码来获取PID并重现正确的结果:

int PID1 = (buf [1] << 8) | (buf [2] & 0xff);

我不明白这个等式,特别是buf [1] << 8。有人可以向我解释这个等式,我该怎么做才能得到其余的包信息?

0 个答案:

没有答案