c++ 초 단위 시간 -> 몇 분 몇 초 계산 문제 .... 초단위의 시간을 입력하세요:(32억초이하)
493
작성한 질문수 2
int input, min, sec;
const int SEC_PER_MINUTE = 60;
cout << "초 단위의 시간을 입력하시요:(32억초 이하) ";
cin >> input;
min = input / SEC_PER_MINUTE;
sec = input % SEC_PER_MINUTE;
cout << input << "초는 " << min << "분 " << sec << "초" << endl;
#include와 int main등등은 생략하고 main함수 안 코드만 적어놨습니다
C++ 기초를 공부중인데요... 문제에 있는 예제를 그대로 가져왔습니다
초 단위 시간을 입력하면 몇 분 몇초로 계산하여 출력해주는 코드인데, 저 '초 단위의 시간을 입력하세요' 옆에 있는 32억초 이하 부분이 궁금합니다
32억초 이하로 입력해야하는 이유가 뭔가요? int의 최대 크기는 -2,147,483,648 ~ 2,147,483,647라고 하니 20억 이하라고 하면 이해가 되겠는데, 왜 32억초 이하로 입력해야하는지 아무리 생각해도 모르겠습니다...
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
32억 초 이하로 입력해야 하는 이유는 데이터 타입의 범위 한계 때문입니다.
C++에서 int형의 범위는 약 -2,147,483,648부터 2,147,483,647까지입니다. 따라서 양수만 고려한다면 최대 약 21억 초까지만 표현할 수 있습니다.
만약 32억 초 이상의 값을 입력한다면, 그 이상의 값은 int형 범위를 초과하여 오버플로우(overflow)가 발생합니다. 이는 프로그램 동작에 예기치 않은 문제를 야기할 수 있으므로 주의해야 합니다.
따라서, 32억 초 이하로 입력하는 것이 안전한 범위라고 할 수 있습니다.
추가로, 현재 코드에서는 초 단위의 시간을 분과 초로 변환하는 기능을 제공합니다. 입력값이 음수인 경우에는 이 코드에서는 고려하지 않았으므로, 잘못된 입력일 경우 다른 처리를 추가하셔야 합니다.
잘 이해되지 않는 부분이 있으시면 추가로 질문해주세요.
감사합니다.
강의 수강 후 포트폴리오 준비 방향에 대해 조언 부탁드립니다.
2
55
1
공부 순서
1
51
2
인텔리제이 설정 최신화 관련 확인 부탁 드립니다!
1
48
2
피그마 스킬설치 강의 중 피그마 디자인 파일 링크 관련 문의
1
33
2





