부동 소수점 연산에 대한 IEEE 표준에서 곱셈을 통해 보존 된 부동 소수점 순서가 있습니다. 예를 들어, a, x 및 y를 부동 소수점 수로 가정하십시오.IEEE 754-2008 표준 곱셈에서 보존 됨
x < y이면 ax < ay?
이것이 사실이 아니라면 확실히 이상 할 것입니다. 그러나 저는 약간의 안심을 원합니다.
미리 감사드립니다.
부동 소수점 연산에 대한 IEEE 표준에서 곱셈을 통해 보존 된 부동 소수점 순서가 있습니다. 예를 들어, a, x 및 y를 부동 소수점 수로 가정하십시오.IEEE 754-2008 표준 곱셈에서 보존 됨
x < y이면 ax < ay?
이것이 사실이 아니라면 확실히 이상 할 것입니다. 그러나 저는 약간의 안심을 원합니다.
미리 감사드립니다.
귀하의 질문에 승수가 긍정적이라고 가정합니다.
대답은 '아니오'입니다.
먼저 제품이 언더 플로우하거나 넘칠 수 있습니다. 이 경우 0 또는 + 무한대로 반올림되며 부등호가 위반됩니다.
더 일반적인 경우에 대해서는: 결과가 항상 올바르게 반올림되며 ax
의 반올림 값 ay
의 반올림 값보다 작으므로, AX의 반올림 값 y
의 반올림 값보다 클 수 없다. 이것은 여전히 하나가 반올림되고 다른 하나가 반올림되고 반올림 된 값이 동일 할 가능성을 남겨 둡니다.
x
및 y
이 연속 부동 소수점 일 경우에만 발생할 수 있습니다. 그렇지 않으면 차이는 항상 마지막 자리에서 1 단위보다 커지고 숫자는 반올림 될 수 없습니다.
그리고 불행히도 때때로 이런 일이 발생합니다. 예를 들어 보자
x = 1.2345678899999997
y = 1.23456789
a = 0.84812721230468113
다음 두
ax
및
ay
가
1.047070622946572
같다.
+1하지만, 곱셈의 결과가 비정규이면 'x'와 'y'가 연속적인 부동 소수점이 아니더라도 이것이 일어날 수 있습니다. 또한 대답은 'a'가 0, 무한대 또는 NaN 인 경우 간단히 '아니요'입니다. –