加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

电文存储的事项

发布时间:2020-12-14 04:41:59 所属栏目:大数据 来源:网络整理
导读:GPS L1导航电文存储 1 电文存储数据方向: bit高位存储的是 电文低位(先发送的数据) 2 在bit位转换至整型int32时,如果使用 std::bitset 会发生 bit高低位倒序存储,建议使用按位与操作,保持原有顺序。word0 word1 word2 -word10 同时在word 内部? ?bit29

   GPS L1导航电文存储

1 电文存储数据方向: bit高位存储的是 电文低位(先发送的数据)

2 在bit位转换至整型int32时,如果使用 std::bitset 会发生 bit高低位倒序存储,建议使用按位与操作,保持原有顺序。word0 word1 word2 ->word10

同时在word 内部? ?bit29_pre? ?bit30_pre? bit0 bit1 bit2? ...bit30

3 word内部bit位的操作? 循环仍然需要倒叙 完成 bit0? bit1? bit2? 高位->低位的 数据存储

value? = 0;

?while ( i < size_length )

{

  value << 1;

  value = value + bit_strem(bit_phase + i);

  i ++ ;

}  

使用std::bitset 发生一次倒序后,bit拼帧,不需要倒序。按照倒序后的顺序拼帧。

但是对word 的拼帧还需要一次倒序,完成所有300bit的倒序,然后使用300-原有index 转换至倒序后每段信息的帧首;

?

2? 电文解析 有两种类型? unsigned? ?类型 和? signed类型

unsigned类型? 无符号类型相对简单一些

不需要判断第一位 符号位

主要描述? signed类型? 原因 :发送的电文信息 受制于信息长度,符号位几乎不能时 类型的首位(例如? int64 只有符号位在63位 ,才不需要转换)

?判断第一符号位

int64 value = 0LL;

if bit_strem(bit_phase + 0) == 1

  value ^= 0xFFFFFFFFFFFFFFFF;

else

  value &= 0x0LL;

end

while (i < bit_size)

{

  value <<= 1;

  value &= 0xFFFFFFFFFFFFFFFELL;

  if(bit_stream[i] == 1)

  {

    value += 1LL

  }

  i+=;

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读