考虑到这个数字可能真的很大,使用unsigned long
是否安全?
FWIW,我从apache日志中累加了所有的微秒,因此这个数字可能会变得非常大。
最佳答案
用标准C存储“很大”的数字时,您可以做的最好的就是unsigned long long int
:
这是在C99 +标准中定义的。如果您愿意/想要超越C的功能范围,还有其他扩展要看,想到的第一个扩展就是GNU MP Bignum library。
我认为您应该考虑的第三个替代方法是将其分解为ozt_a与gettimeofday()
结构一起进行的微秒和秒。这样一来,您就不必陷入数量可笑的数字了。如果您只想在几微秒内查看数据,则始终可以自己进行转换。
关于c - 什么是适当的数据类型才能在C中存储微秒的总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16944006/