64位数到2x 32位

时间:2016-05-18 12:14:18

标签: c++ numbers int 64-bit

我得到一个19位数字(64位和总共19位数字)并且必须将其转换为2 32位int。

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

有人有想法吗?

1 个答案:

答案 0 :(得分:1)

你可以通过转移来实现:

#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;
相关问题