+ -
当前位置:首页 → 问答吧 → 左移算长度?

左移算长度?

时间:2011-12-14

来源:互联网

解析一个协议数据包, 这算的什么长度啊?怎么算的,求指教  
  // 0 1 2 3 4  

//起始字头 命令字 数据块长度 保留字 数据块 校验字节
//AA 75



  len = (rec_buf[3]<<8) + rec_buf[4]

作者: z373375579   发布时间: 2011-12-14

协议里规定了数据包的第4、5(从1开始计数)两字节表示数据块长度,而且第4字节(rec_buf[3])为高位字节,第5(rec_buf[4])字节为低位字节,所以len的值就是rec_buf[3]*256+rec_buf[4],rec_buf[3]*256又相当于rec_buf[3]<<8的值

作者: kongrenxin   发布时间: 2011-12-14

rec_buf 是 char 的类型吧,

(unsigned int)rec_buf[3] << 8 | rec_buf[4]

作者: AnYidan   发布时间: 2011-12-14

热门下载

更多