2010-12-27 7 views
0

에서 더블 INT 수학은 내가/자바 수학에 대한 질문은, 그래서 당신은이 링크에서 볼 수있는 작은 프로그램 스크린 샷을 몇 가지 의심 만들었다 :
http://www.imageshuffle.com/view.php?filename=73doublevsfloat.jpg
같은 숫자도 얼마나 가능한? 당신이 아무리 당신이 어떻게 보면 155을 없을 것 그것은
i * f 어떻게 보면 플로트, 자바

f/i


i + f101.55
i - f 두 번에 98.45

등이 동일해야해야한다 상관없이 0.0155 없어야합니다.
그래서 무엇을 제공합니까? Java의 수학이 왜 그렇게 잘못 되었습니까?

+0

* "왜 Java의 수학이 정확하지 않습니까?"* 의심스러운 경우 Java를 비난하십시오. :) –

답변

4

i /= fi을 수정하기 때문에 발생합니다. 이는 더하기 i = i/f (반올림)과 동일합니다.
f/i을 실행할 때 i은 100 대신 ~ 65입니다.