0부터 100까지의 정수 생성

rt4292 Reply 6 years 5 weeks ago
3. 다음 중 0부터 100까지의 정수를 임의로 생성하는 연산식은 어떤 것인가? (8점) Which of the following expression yields an integer between 0 and 100, inclusive? (8 points) A. (int)(Math.random() * 100 + 1) B. (int)(Math.random() * 101) C. (int)(Math.random() * 100) D. (int)(Math.random() * 100) + 1 중간고사 기출문제를 풀다가 의문점이 생겨 질문하게 되었습니다. Math.random()은 0 이상 1미만의 실수를 반환한다고 배웠습니다. 그러면 답은 B가 되어야 맞는 것 같은데, 실제로 자바에서 (int)(0.99999999999999999999999999999999 * 101)를 실행해보니 101이 나왔습니다. 그리고 (int)(0.99999999999999999999999999999999 * 100) 를 해보니 100이 나왔습니다. 이렇게 되면 배운 것과 다른 결과가 나오는 것 같은데 이 문제의 정답이 어떤 것이 되는 건가요?