2015-02-04 2 views
0

Integer (32 비트)에 대한 MAX_VALUE2_147_483_647이며 앞으로 64 비트 정수로 전환하지 않는 한 향후 최대 시간 제한입니다.이 웹 사이트가 Integer.MAX_VALUE보다 큰 currentMiliseconds 값을 표시하는 이유는 무엇입니까?

그러나 this 웹 사이트는 현재 시간을 밀리 초 단위로 표시하여 1_423_079_895_486과 같으며 정확한 시간을 표시합니다.

값은 유닉스 시간에 Integer.MAX_VALUE 또는 최대 밀리 초 값보다 너무 길습니까?

나는 뭔가를 놓치고 있습니까?

+0

UNIX'timeval' 구조체는 두 개의 값을 포함합니다. 즉, 신기원 이후의 초 수와 두 번째 시작부터의 밀리 초를 별도로 저장합니다. 따라서 32 비트 너비의 시스템에서 초 단위로 작업 한 경우에도이 반환 값을 조작하는 코드를 작성하면 더 큰/더 넓은 유형을 사용하여 두 가지를 결합하여 총 밀리 초 값을 얻을 수 있습니다. –

답변

2

아마도 64 비트를 사용하여 시간을 밀리 초 단위로 나타낼 수 있습니다.

이것은 눈에 띄지 않습니다. 이 유형을 입력하는 시스템에는 64 비트 time_t 유형이 있습니다.

아마도 C 유형 inttime_t이 같은 크기 여야한다고 생각하십니까? 그들은하지 않습니다. 밀리 초를 나타내는 32 비트 숫자는 50 일 이내에 만 지속될 수 있습니다.

웹 사이트가 어떻게 구현되는지 알지 못합니다. 가변 폭 정수를 지원하는 스크립팅 언어를 사용하고있을 수도 있습니다.