Linux 中如何存储大值?

Linux 中如何存储大值?

例如,cat /proc/interrupts

我看到这个值在不断增长 -

 36:   10273035      IPIC  36 Level     eth1_g0_rx

当它达到最大值时会发生什么:即 uint64_t 可以容纳的最大值。数据溢出如何处理?处理如此大数据的正确方法是什么?

答案1

没有通用答案,这取决于价值。

中断计数器是每个CPUunsigned intCPU,并且它们使用 C 加法递增。该值仅供参考,因此出现超过 20 亿次(在unsigned int32 位值的平台上)后它不再准确并不重要。

对于溢出处理很重要的值,存储本身不会改变 -IE它的大小将被选择以适合数据,但存储中没有“魔法” - 但对值的操作将使用溢出检查变体

相关内容