将一个词的两个部分与另一个词的一部分组合并使用比例因子
Combining two part of a word with a part of another word and using a scale factor
我正在尝试从 GPS 接收器中提取数据。他们传递信息的方式如下图所示。
我正在尝试获取 roota。我在单独的位集中有单词 8 和单词 9。如何将相关位组合成一个位集?
我还需要使用这个比例因子信息来得到一个双精度数。比例因子信息如下所示。
我试过了
std::bitset<32> word8_binary; // is filled with word 8 data.
std::bitset<32> word9_binary; // is filled with word 9 data.
std::bitset<32> roota_binary;
for (int i=13; i>5; i--)
{
roota_binary = word8_binary[i] << 32 | word9_binary[i];
}
但这并没有给我想要的结果。我也不知道怎么起诉比例因子
非常感谢您的帮助。
这可能 "c++" 不够,但我会对相应的整数进行位操作:
ulong roota_binary = (((word8_binary.to_ulong() >> 6) & 0xFF) <<24) +
((word9_binary.to_ulong() >>6) & 0xFFFFFF);
>>6
去掉奇偶校验位,掩码隔离你需要的位,<<24
把高位放在最上面。
我正在尝试从 GPS 接收器中提取数据。他们传递信息的方式如下图所示。
我正在尝试获取 roota。我在单独的位集中有单词 8 和单词 9。如何将相关位组合成一个位集?
我还需要使用这个比例因子信息来得到一个双精度数。比例因子信息如下所示。
我试过了
std::bitset<32> word8_binary; // is filled with word 8 data.
std::bitset<32> word9_binary; // is filled with word 9 data.
std::bitset<32> roota_binary;
for (int i=13; i>5; i--)
{
roota_binary = word8_binary[i] << 32 | word9_binary[i];
}
但这并没有给我想要的结果。我也不知道怎么起诉比例因子
非常感谢您的帮助。
这可能 "c++" 不够,但我会对相应的整数进行位操作:
ulong roota_binary = (((word8_binary.to_ulong() >> 6) & 0xFF) <<24) +
((word9_binary.to_ulong() >>6) & 0xFFFFFF);
>>6
去掉奇偶校验位,掩码隔离你需要的位,<<24
把高位放在最上面。