固定大小的 char 数组到相对 64 位整数

Constant size char array to a relative 64-bit integer

首先,char数组大于8字节,不能直接当64位整数使用。

在这种情况下 "relative" 定义为:

x = char[16]
y = char[16]
r = x / y

ax = approx_int64(char[16])
ay = approx_int64(char[16])
ar = ax / ay

ar ~= r

对于大于 8 字节的 char 数组,我如何有效地将其转换为相对大小的 64 位整数?

"relatively sized 64-bit integer" 不是很清楚你的意思。但是,我假设您认为每个 char[] 代表某种有序数字。

如果是这种情况,估计相对大小的最佳方法就是简单地获取该表示中的 8 个最高有效字节,并将它们转换为 64 位整数。