[C++] 오버플로우(Overflow) 체크방법
- Language & Solution/C++
- 2018. 11. 20. 05:15
반응형
int check_overflow(int num1, int num2) { // 여기가 핵심. num1 + num2 > INT_MAX를 변형한 것 // 위 식을 그대로 쓸 경우 num1 + num2 자체에서 오버플로우가 일어나 계산이 안 됨 if (num1 > INT_MAX - num2) return -1; else return num1 + num2; } int main() { int num1 = 2147483627; int num2 = 20; int result = check_overflow(num1, num2); if (result == -1) std::cout << "Integer overflow occurred"; else std::cout << result; }
반응형
'Language & Solution > C++' 카테고리의 다른 글
[C++] 문자열(string)에서 double형으로 (0) | 2018.11.20 |
---|---|
[C++] 문자열 뒤집기 (0) | 2018.11.20 |
[C++] 문자열 앞뒤 공백 제거 방법 ( Boost 라이브러리 안 씀 ) (0) | 2018.11.20 |
[C++] namespace, FQN(fully Qualified Name) (0) | 2018.06.24 |
[C++] constexpr (0) | 2018.06.24 |
이 글을 공유하기