2012-10-26 2 views
0

현재 설치된 모든 리눅스 머신 (모든 Linux 커널 기반, 안드로이드 포함)을 현재까지 (그리고 앞으로) 계산해야하는 리눅스 카운터에서 작업하고 있습니다. 여기에 내가있어 무엇 : 리눅스 카운터 용 uint32_t 또는 uint64_t

#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

Uint32는 this story에 따라 2017 년에 오버플로합니다.