개발자 99% 커뮤니티에서 수다 떨어요!
💡 연습문제 16. 간단한 현실 점검. 다음 '불가능한' 것들 중 무엇이 실제로 일어날 수 있는가?
한 달이 28일 보다 적은 것.
시스템 콜의 오류 메시지: 현재 디렉터리에 접근할 수 없음.
C++에서, a = 2; b = 3; 하지만 (a + b)는 5가 아님.
내각의 합이 180도가 아닌 삼각형.
1분이 60초가 아님.
(a + 1) <= a
맨 처음 생각했던 답
충분히 만날 수 있는 일이다.
float라던지 부동소수점 이었던거 같은데... 가능성은 열려있는 것이라고 생각됨
나머지는 당연히 안되는거 아닌가 생각을 했었다....
해설
놀랍게도 6개 다 실제로 일어날 수 있다.
1752년 9월은 19일밖에 없다. (달력 개혁)
(이건 상식이니 통과)
추측한 대로 a와 b의 타입 지정이 안되어 있던 것도 있는데, 연산자 오버로딩으로 다르게 동작할 수 있다는 것도 있고, 동일한 변수를 가리키고 있을 수도 있다고함; 여기(동일 변수)까지는 생각을 못했다.
비유클리드 기하학이라니... 구체에 그려진 삼각형을 고려하면 된다고 한다. 신박하다.
윤년은 알아도 윤초(leap second)라니... 생각도 못했다.
언어에 따라 숫자가 overflow되면 충분히 가능하다고 한다... 는 이거 이미 경험한 이슈인데 흔한 일은 아니다보니 잊었다.