어떤 경우에는 값이 제대로 나오고 어떤 경우에는 부동소수점 오차 때문에 값이 제대로 안 나와서 확인해보는데


분명 피연산되는 값은 두 프로세스 모두 동일한데 좌측과 우측이 연산 결과가 다름 ㅡㅡ;;;;;;;;;;;;;;;;;;;;;;



위 스크린샷에 나오다 싶이 FMUL 의 피 연산자는 동일한 값임

ST0 : 54000.0000000000000

0x603770: 0.01 (0x3C23D70A)


그런데 실행 결과는 둘이 다름;;;


좌측은 540.00000 나오고 우측은 539.99998 이 나옴;;


우측에서 값이 이상하게 나와서 저 상태로 int 로 캐스팅해서 539 가 결과로 나오는데


나는 동일한 ST0 값과 메모리에 있는 값으로 FMUL 을 했는데 다른 결과가 나온다는 게 이해가 안 됨;;


왜 이러는지 아는 사람 있으면 설명 좀 부탁해 ㅇㅅㅇ;;;;