如何将两个 64 位整数连接成一个 128 位整数?

Ann*_*nne 2 c concatenation 128-bit

我有 2 个 64 位整数,我想将其连接成一个 128 位整数。

    uint64_t len_A;
    uint64_t len_C;

    len_AC= (len_A << 64) | len_C;
Run Code Online (Sandbox Code Playgroud)

海湾合作委员会不支持uint128_t.

还有其他方法可以做到吗?

nul*_*ptr 5

首先,您应该决定如何存储该 128 位整数。该维度没有内置整数类型。

例如,您可以将整数存储为由两个 64 位整数组成的结构体:

typedef struct { uint64_t high; uint64_t low; } int128;
Run Code Online (Sandbox Code Playgroud)

那么答案就会非常简单。

问题是你接下来要如何处理这个整数。