-9,223,372,036,854,775,808과 9,223,372,036,854,775,807기준으로 원본 함수는 값이 변하지 않는 것을 볼 수 있습니다. 도대체 저 수가 의미하는 바는 무엇이고 왜 이런 차이가 발생하는 걸까요?
구글에 long 범위를 찾아보자!
보통의 경우 long은 signed int와 같은 범위를 가집니다. 왜냐하면 둘 다 4bytes만큼 할당받기 때문이죠.
하지만, 사용하시는 환경에 따라 long에 할당되는 bytes가 달라질 수 있습니다.
출처 : https://www.ibm.com/docs/en/ibm-mq/7.5?topic=platforms-standard-data-types
맥은 유닉스 기반이기 때문에 long형으로 선언한 변수는 8bytes를 할당 받게됩니다.
long이 4bytes인 환경에서는 int와 범위가 같지만 우리가 지금 사용하는 맥 환경에서는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 가 되는 것이죠.