2038년 문제는 32비트를 사용하는 시스템에서 발생하는 문제다. 2038년 1월 19일 오전 3시 14분 7초(한국 시각으로는 오후 12시 14분 7초)에 32비트가 셀 수 있는 2,147,483,647초가 만료돼 음수값이 적용되어 1901년 12월 13일 오후 8시 45분 52초로 돌아가거나, 컴퓨터에서 오류를 인식하고 유닉스 시간의 기본값인 1970년 1월 1일로 초기화되는 현상이다. 이는 오버플로/언더플로 현상에 의한 것이다. 컴퓨터에서 오늘날 쓰는 역법인 태양력을 계산하는 법중 가장 보편화된게 유닉스 시간에서 초당 1씩을 추가하는 건데, 32비트는 2,147,483,647을 초과하는 수는 셀 수 없기 때문에 오버플로가 발생한다. 이 경우엔 해당범위의 최소값으로 돌아가므로 오류가 생긴다. 이로 인해 컴퓨터에 계산에 치명적인 오류가 발생할 수 있다. 가능성은 낮으나 Y2K때 발생할 것으로 예측되었던 오류가 발생할 수 있다. Y2K는 사람들이 혼돈한거지만 이건 기계에 문제가 생긴거니. 단순히 32비트를 64비트로 업데이트하면 되지만 이게 말이 쉽지, 의외로 간단한 작업이 아니다. 기존에 설정했던 알고리즘이 꼬여 2038년 문제보다 더 큰 문제가 발생할 수도 있다. 정수형을 부호없는 정수형으로 연장하면 음수를 세지 못하기 때문에 2106년까지로 연장할 수 있다. 물론 이것도 완벽한 해결책은 아닌데, 음수를 못 세니 1970년 1월 1일 이전의 시간은 표시할 수 없기 때문. 16비트 시스템에선 9시간 6분 8초, 8비트 시스템에선 4분 16초밖에 세지 못한다. 물론 16비트나 8비트를 사용하는 시스템은 거의 없으니 걱정하지 않아도 된다. 컴퓨터 업계쪽 사람들은 이 문제를 한가하게 생각하고 있는데, 지금부터 프로그램을 짤 때 64비트를 쓰면 되기 때문. 단, 미래를 생각하지 않는 시스템에선 문제가 발생할 수 있다. 예를 들어, 만 61세부터 보험금을 수령할 수 있는 보험 시스템이 2038년 문제가 발생할 경우, 1970년~1977년 생들은 자기가 태어나기도 전에 보험금을 타는 셈이다. 물론 국내 시스템은 2038년 문제를 걱정할 필요없다. 물론 64비트도 셀 수 있는 수는 제한되어 있다. 문제는 그게 2922억 7702만 6596년이기 때문. 그때쯤이면 인류가 살아있을 지는 차치하더라도 태양력, 64비트 모두 퇴출되어 있을거니 문제가 발생할 우려는 없다.