鉴于您可以在unsigned long32位平台上存储的最大值大约为4G,这些4G微秒仅转换为71分钟.
在64位平台上(注意Windows长度总是32位,即使在Windows 64位上),那么你可以计算微秒,最多可达到4G时间71分钟.这是巨大的:大约5800个世纪.
答:如果你unsigned long是64位,那没关系.
使用标准 C 存储"非常大"数字的最佳方法是unsigned long long int:
- unsigned long long int类型的对象的最大值
ULLONG_MAX 18446744073709551615 // 2 64 - 1
这是在C99 +标准中定义的.如果你愿意/想要超越C可以做的事情,那么还有其他扩展需要考虑,首先想到的是GNU MP Bignum库.
我想你应该考虑第三种选择是将它分解为微秒,秒的方式gettimeofday()确实具有timeeval结构.这样你就不必进入可笑的数字.如果您想在几微秒内查看数据,您可以自己进行转换.
| 归档时间: |
|
| 查看次数: |
1698 次 |
| 最近记录: |