2023. 5. 19. 01:18, 알고리즘/BOJ
처음에 boj 11652번 문제를 접하고, -2^62보다 크거나 같고, 2^62보다 작거나 같다.
라는 부분을 읽었을때, long long 으로 표현할 수 있는 범위가 -2^61~2^61-1 이지 않나? 이건 그 범위를 넘어가는 부분 아닌가?
라고 생각해서 한참 생각을 하다가 long long으로 표현하는 범위를 넘어서는 범위면 string으로 문제를 해결 해야 하는데, 그런 의도로 낸 문제는 아닌것 같고, 고민을 좀 오래 했다.
그러다가 아무래도 long long 으로 표현하는 수의 범위에 대해서 다시 알아보자 싶어서 chatGPT에 검색을 해보았다.
검색을 해보니
-2^63부터 2^63-1까지의 범위였다.
내가 -2^61부터 2^61-1까지의 범위로 착각한 이유는
int의 범위가 -2^31~2^31-1 까지인데, 이때에 31 때문에 long long도 61이라고 착각한듯 하다.
이건 2^5의 값에 해당하는 32의 값에서 1을뺀 것이었는데, long long은 2^6의 값인 64에서 1을 뺀 ^63 자리까지이고.
int로 표현할 수있는 수의 범위, long long 으로 표현할 수 있는 수의 범위에 대해서는 이번 기회를 통해서 다시한번 이해하고 각인시키는 시간을 가져야 겠다.
long long 은 -2^63~2^63-1.
int는 -2^31~2^31-1.
참고로 signed의 경우이다.
'알고리즘 > BOJ' 카테고리의 다른 글
boj 5648 역원소 정렬을 통해 배우게된 reverse의 활용과 stoll함수에 관하여 (0) | 2023.05.20 |
---|---|
bitshift를 이용해서 큰 값을 표현할때의 주의점. 1<<62 (0) | 2023.05.20 |
boj 1431번 문제를 통해 접하게된 isdigit()에 대해서. (0) | 2023.05.19 |
c++ sort 함수에 전달해주는 compare 함수에 관하여 2 (0) | 2023.05.18 |
c++ sort compare 함수를 어떻게 작성해야 하는가에 대하여. (0) | 2023.05.17 |
Comments, Trackbacks