mark1106   1년 전

c언어 i to a사용해서 문자> 숫자로 바꾼 후 뒷자리부터 한자리씩 더하는 코드를 작성했습니다. 다른 예시는 다 되는데 25/ 700000000000000000 이 예시만 안되는군요.. 뭐가 문제일까요?

yeop77   1년 전

변수 num 자료형 -> int
int는 일반적으로 4byte = 32bit
(signed) int이므로 값의 표현 범위는 -2^31 ~ (2^31)-1    ->     -2,147,483,648 ~ 2,147,483,647

700000000000000000 <- int로 표현할 수 있는 값 범위 초과되므로 오버플로 발생
따라서 정상적인 결과 출력 불가

댓글을 작성하려면 로그인해야 합니다.