哪位大神能帮忙解读下这部分程序是什么意思head=14这种格....
temp =0xffffffff & ( *(head + 14) + *(head + 15)*0x00000100 + *(head + 16)*0x00010000 + *(head + 17)*0x01000000);temp8 = 0xff & (*(head +30));
GPS_Info->longtitude = temp / 10000000.0 + temp8 / 1000000000.0;
temp =0xffffffff & ( *(head + 18) + *(head + 19)*0x00000100 + *(head + 20)*0x00010000 + *(head + 21)*0x01000000);
temp8 = 0xff & (*(head +31));
GPS_Info->latitude = temp / 10000000.0 + temp8 / 1000000000.0;
大神们求帮忙 顶顶顶 head + 14
就是名称叫做“head”这个数组里面第14+1个成员
*(head + 14)
就是取这个成员的值 奏奏奏 发表于 2019-8-22 09:43
head + 14
就是名称叫做“head”这个数组里面第14+1个成员
大神能详细给我讲讲( *(head + 14) + *(head + 15)*0x00000100 + *(head + 16)*0x00010000 + *(head + 17)*0x01000000);这块嘛*(head + 15)*0x00000100这是什么意思 他们一串相加又是什么意思 这个貌似GPS的数据运算,楼主应该先熟读相关的GPS器件的数据手册才能理解。 aizx 发表于 2019-8-22 09:47
大神能详细给我讲讲( *(head + 14) + *(head + 15)*0x00000100 + *(head + 16)*0x00010000 + *(head + 17 ...
就是左移8位的意思,把 * 0x100 换成 << 8 会更好 head是个指针,类型不知道,但根据你的程序,32位无符号整形的可能性比较大;
*(head + 15)就是指针指向的内容;
*(head + 15)*0x00000100,指针指向内容乘后面的数;
一级一级慢慢算吧 head是buffer的起始地址,*(head + 14)就是取基于起始地址偏移14个单位的内容,没有什么特别之处 middle1102 发表于 2019-8-22 10:32
head是buffer的起始地址,*(head + 14)就是取基于起始地址偏移14个单位的内容,没有什么特别之处 ...
static uint8_tBuffer;
static uint8_tBuffer2 这个buffer是什么意思呢
页:
[1]
2