我想使用u_int64_t
变量作为搜索键,
在32位计算机上可用u_int64_t
吗?
如果没有,我必须将这个变量分成两个变量?然后作为搜索键,它有点麻烦
有没有解决方法呢?
答案 0 :(得分:9)
C标准不保证无符号64位整数类型,但通常在32位计算机上以及几乎所有运行Linux的计算机上都可用。如果存在,该类型将命名为uint64_t
(注意少一个下划线)并在<stdint.h>
头文件中声明。
答案 1 :(得分:5)
是的32位计算机支持64位整数数据类型。
在C89标准中,支持长{≥64,≥长尺寸)类型GNU extension。 在C99标准中,长{(64,≥长尺寸)整数有native support。
答案 2 :(得分:0)
根据一些文档或阅读它不太清楚 __GLIBC_HAVE_LONG_LONG is the one that defines its presense in 32 bit architecture
用于使用的可用解决方案可能类似于下面的
#include <sys/types.h>
#ifdef __GLIBC_HAVE_LONG_LONG
u_int64_t i;
#endif
哦,这是在Linux中的方式