我想在我的项目中使用大正整数(8字节),尽管在我的系统中sizeof(unsigned long)的结果为8,但我知道在大多数系统中unsigned long只有4个字节,因此我决定尝试使用unsigned long long,因为它保证至少有8个字节。
然而,随着我使用它的次数增多,我发现它并不是非常便携,例如在某些系统(取决于编译器),printf格式为%llu,在某些系统中则为%lld。
我的代码只能在64位debian机器上运行,在那里unsigned long将会是8个字节。可移植性并不是一个很大的问题。在这种情况下使用unsigned long long超过unsigned long是否过头了?在使用unsigned long long而不是unsigned long时是否有其他好处?
然而,随着我使用它的次数增多,我发现它并不是非常便携,例如在某些系统(取决于编译器),printf格式为%llu,在某些系统中则为%lld。
我的代码只能在64位debian机器上运行,在那里unsigned long将会是8个字节。可移植性并不是一个很大的问题。在这种情况下使用unsigned long long超过unsigned long是否过头了?在使用unsigned long long而不是unsigned long时是否有其他好处?
uint64_t
吗?它在<stdint.h>
头文件中。 - Mysticial