64位数字到2x 32位



我得到了一个19位的数字(64位,总是19位),必须将其转换为2 32位整数。

2 32位必须能够转换回19位数字。

有人有主意吗?

您可以通过移位来实现:

#include "stdio.h"
uint64_t bigNum = 5678216589648569852;
uint64_t merged = 0;
uint32_t partA = 0;
uint32_t partB = 0;
//split
partA |= bigNum;
partB |= bigNum >> 32;
//merge
merged = partB;
merged <<= 32;
merged |= partA;

最新更新