2,147,483,647
1. 개요
2,147,483,647은 19세기 수학자 피터 바를로가 예측했던 가장 큰 소수이자, 32비트 부호 정수형의 최댓값이다. 바를로는 231 − 1 = 2147483647이 완전수 중 가장 큰 값이며, 더 큰 소수는 발견되지 않을 것이라고 예측했지만, 그의 예측은 빗나갔다. 또한, 이 값은 컴퓨팅에서 32비트 부호 정수형의 최댓값으로 사용되며, 유닉스 시간의 2038년 문제와 유튜브 조회수 관련 사례에서 나타난다.
-
컴퓨터 산술 -
IEEE 754
IEEE 754는 부동소수점 숫자를 표현하고 처리하기 위한 국제 표준으로, 다양한 형식과 연산, 반올림 규칙, 예외 처리 등을 정의한다. -
컴퓨터 산술 -
1의 보수
1의 보수는 이진수에서 양수는 일반적인 이진수로, 음수는 양수의 각 비트를 반전시켜 표현하며, 덧셈 시 자리올림수가 발생하면 결과값에 더해야 하고, 0을 중복 표현하는 단점으로 현대에는 2의 보수가 주로 사용된다. -
정수 -
1987
1987은 수학적으로 소수이자 순환소수, 약수 총합과 관련된 특징을 가지며, 천문학, 문화유산, 영화, 음악 등 다양한 분야에서 활용되는 숫자이다. -
정수 -
383
383은 76번째 소수이자 안전 소수, 회문 소수, 왼쪽 잘라내기 가능 소수이며, 오일러의 소수 생성 공식에서 유도되는 소수이고, 역수가 순환마디 길이 382인 순환소수인 수학적으로 특징적인 수이다.
2. 바를로의 예측
19세기 초, 수학자 피터 바를로는 [http://www.archive.org/details/anelementaryinv00barlgoog An Elementary Investigation of the Theory of Numbers] 에서 오일러가 발견한 소수 231 − 1 = 2147483647이 현재 알려진 가장 큰 소수이며, 앞으로 발견될 더 큰 소수는 없을 것이라고 예측했다. 그는 이 수가 완전수 중에서도 가장 큰 값이며, 이러한 수는 쓸모없고 단지 호기심의 대상이므로, 앞으로 누구도 다음 수를 찾으려 하지 않을 것이라고 덧붙였다. 이러한 예측은 1814년 바를로의 문헌 [http://books.google.com.au/books?id=Y-csAAAAYAAJ&printsec=titlepage A New Mathematical and Philosophical Dictionary] 에도 기록되었다. 그러나 바를로의 예측은 빗나갔고, 이후 더 큰 소수들이 발견되었다.
2.1. 바를로의 예측과 관련된 문헌
피터 바를로는 1811년 자신의 저서 An Elementary Investigation of the Theory of Numbers에서 231 − 1 = 2147483647이 소수라는 것을 언급하며, 이 값이 현재 알려진 가장 큰 소수이자 완전수이며, 앞으로 발견될 값들 중에서도 가장 큰 값이 될 것이라고 예측했다. 이러한 예측은 쓸모가 없고 단지 호기심에 의해 연구된 것으로, 앞으로 누구도 다음 수를 찾기 위한 시도를 하지 않을 것이라고 덧붙였다.
이 예측은 1814년 바를로의 또 다른 문헌 A New Mathematical and Philosophical Dictionary에도 기록되어 있다.
2.2. 예측의 오류
피터 바를로는 1811년 [http://www.archive.org/details/anelementaryinv00barlgoog An Elementary Investigation of the Theory of Numbers] 에서 오일러가 발견한 소수 231 − 1 = 2147483647이 현재 알려진 가장 큰 소수이며, 앞으로 발견될 더 큰 소수는 없을 것이라고 예측했다. 그는 이 수가 완전수 중에서도 가장 큰 값이며, 이러한 수는 쓸모없고 단지 호기심의 대상이므로, 앞으로 누구도 다음 수를 찾으려 하지 않을 것이라고 덧붙였다. 이러한 예측은 1814년 바를로의 문헌 [http://books.google.com.au/books?id=Y-csAAAAYAAJ&printsec=titlepage A New Mathematical and Philosophical Dictionary] 에도 기록되었다. 그러나 바를로의 예측과 달리, 이후 더 큰 소수들이 발견되었다.
3. 컴퓨터 연산에서의 2147483647
2,147,483,647은 컴퓨팅에서 32비트 부호 정수형의 최댓값이기도 하다. 그래서 일반적인 CPU위에서 작동하는 많은 프로그래밍 언어에서 변수 `int`로 선언될 수 있는 최댓값으로 지정되어 있다. 종종 에러, 연산 오버플로, 결측값을 통해 이 값을 찾아볼 수 있다. 마찬가지로 "(214) 748-3647"은 미국에서 대표적인 전화번호로 사용되며, 많은 웹 페이지에서 일반적인 전화번호로 찾아볼 수 있다.
유닉스와 같은 운영체제에서 사용되는 자료유형 time_t은 1970년 1월 1일 자정 UTC를 기준으로 유닉스 시간이 시작된 이후로 초를 세는데 사용되는 32비트 부호 정수형이다. 이 방법으로 표현할 수 있는 마지막 시간은 유닉스 시간이 시작된 이후로 2,147,483,647초를 세었을 때 UTC기준 2038년 1월 19일 화요일 03시 14분 07초로 32비트 `time_t` 유형을 사용한 시스템은 2038년 문제가 발생할 위험을 안고 있다.
유튜브는 조회수 변수로 32비트 부호 정수형을 사용하고 있었는데 싸이의 강남스타일 조회수가 2,147,483,647 회를 넘길 것을 유튜브 직원이 예측하고 조회수 2,147,483,647 회가 넘어가기 전에 64비트 정수형으로 수정하고 -2147483648 이스터에그를 만들었다.
64비트 정수형의 최댓값은 9,223,372,036,854,775,807이다.
3.1. 32비트 정수형의 최댓값
2,147,483,647은 컴퓨팅에서 32비트 부호 정수형의 최댓값이다. 일반적인 CPU에서 작동하는 많은 프로그래밍 언어에서 변수 `int`로 선언될 수 있는 최댓값으로 지정되어 있다. 종종 에러, 연산 오버플로, 결측값을 통해 이 값을 찾아볼 수 있다. "(214) 748-3647"은 미국에서 대표적인 전화번호로 사용되며, 많은 웹 페이지에서 일반적인 전화번호로 찾아볼 수 있다.
유닉스와 같은 운영체제에서 사용되는 자료유형 time_t은 1970년 1월 1일 자정 UTC를 기준으로 유닉스 시간이 시작된 이후로 초를 세는데 사용되는 32비트 부호 정수형이다. 이 방법으로 표현할 수 있는 마지막 시간은 유닉스 시간이 시작된 이후로 2,147,483,647초를 세었을 때 UTC기준 2038년 1월 19일 화요일 03시 14분 07초로 32비트 `time_t` 유형을 사용한 시스템은 2038년 문제가 발생할 위험을 안고 있다.
유튜브는 조회수 변수로 32비트 부호 정수형을 사용하고 있었는데 싸이의 강남스타일 조회수가 2,147,483,647 회를 넘어가기 전에 64비트 정수형으로 수정하고 -2,147,483,648 이스터에그를 만들었다.
3.2. 2038년 문제
유닉스와 같은 운영체제에서 사용되는 time_t 자료형은 1970년 1월 1일 자정 UTC를 기준으로 유닉스 시간이 시작된 이후로 초를 세는데 사용되는 32비트 부호 정수형이다. 이 방법으로 표현할 수 있는 마지막 시간은 유닉스 시간이 시작된 이후로 2,147,483,647초가 지난 UTC 기준 2038년 1월 19일 화요일 03시 14분 07초이다. 따라서 32비트 time_t 유형을 사용한 시스템은 2038년 문제가 발생할 위험이 있다.
2,147,483,647은 컴퓨팅에서 32비트 부호 정수형의 최댓값이기도 하다. 일반적인 CPU에서 작동하는 많은 프로그래밍 언어에서 int 변수의 최댓값으로 지정되어 있으며, 에러, 연산 오버플로, 결측값을 통해 이 값을 찾아볼 수 있다.
유튜브는 조회수 변수로 32비트 부호 정수형을 사용했으나, 싸이의 강남스타일 조회수가 2,147,483,647회를 넘기 전에 64비트 정수형으로 수정하고 -2,147,483,648 이스터에그를 만들었다.
3.3. 유튜브 조회수 사례
유튜브는 조회수 변수로 32비트 부호 정수형을 사용하고 있었는데 싸이의 강남스타일 조회수가 2,147,483,647 회를 넘길 것을 유튜브 직원이 예측하였다. 유튜브는 조회수가 2,147,483,647 회가 넘어가기 전에 64비트 정수형으로 수정하고 -2147483648 이스터에그를 만들었다. 64비트 정수형의 최댓값은 9,223,372,036,854,775,807이다.