Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL Mission (2)
#pragmatic
2년 전
521

💡 연습문제 16. 간단한 현실 점검. 다음 '불가능한' 것들 중 무엇이 실제로 일어날 수 있는가?

  1. 한 달이 28일 보다 적은 것.

  2. 시스템 콜의 오류 메시지: 현재 디렉터리에 접근할 수 없음.

  3. C++에서, a = 2; b = 3; 하지만 (a + b)는 5가 아님.

  4. 내각의 합이 180도가 아닌 삼각형.

  5. 1분이 60초가 아님.

  6. (a + 1) <= a

맨 처음 생각했던 답

  1. 충분히 만날 수 있는 일이다.

  2. float라던지 부동소수점 이었던거 같은데... 가능성은 열려있는 것이라고 생각됨

나머지는 당연히 안되는거 아닌가 생각을 했었다....

해설

놀랍게도 6개 다 실제로 일어날 수 있다.

  1. 1752년 9월은 19일밖에 없다. (달력 개혁)

  2. (이건 상식이니 통과)

  3. 추측한 대로 a와 b의 타입 지정이 안되어 있던 것도 있는데, 연산자 오버로딩으로 다르게 동작할 수 있다는 것도 있고, 동일한 변수를 가리키고 있을 수도 있다고함; 여기(동일 변수)까지는 생각을 못했다.

  4. 비유클리드 기하학이라니... 구체에 그려진 삼각형을 고려하면 된다고 한다. 신박하다.

  5. 윤년은 알아도 윤초(leap second)라니... 생각도 못했다.

  6. 언어에 따라 숫자가 overflow되면 충분히 가능하다고 한다... 는 이거 이미 경험한 이슈인데 흔한 일은 아니다보니 잊었다.