2012-10-26 46 views
0

我正在開發一個Linux計數器,它應該計算所有已安裝的Linux計算機(所有基於Linux內核的計算機,包括Android等)迄今爲止(以及將來)。下面是我得到了什麼:uint32_t或uint64_t用於linux計數器

#include <stdint.h> 

int main(int argc, char ** argv) 
{ 
    uint32_t num_linux_machines = count_current_linux_machines(); 

    while (1) { 
     wait_for_next_linux_machine_installed(); 
     num_linux_machines++; 
    } 
} 

不要擔心count()wait()功能,我會稍後做。問題是:你認爲uint32_t對下一個5年是否足夠,或者我應該立即使用uint64_t?感謝您的任何見解;)

真正的問題很難回答是如何實現兩個缺失的功能(即啓發式使用)。

+1

你想要計算什麼機器?世界上現存的所有東西?你打算如何計算它們? – glglgl

+0

有趣的問題。應該有統計方法來做到這一點,但我不擅長數學。有趣的是,這個問題(2 ** 32就足夠了)隨時出現。原本這是作爲一個笑話問題,對不起,由於某些原因,我不能添加有趣的標籤;) –

回答

3

64位計數器只消耗4個附加字節,爲什麼不呢?它不會再有4個字節會使程序膨脹。

2

根據this story,Uint32將在2017年左右出現溢出。

相關問題