如果两个双精度值(a 和 b)
- 两者都不是负面的
- 两者都不是 an
NaN
也不是 any(POSITIVE|NEGATIVE)_INFINITY
, - a >= b
总是真的吗
- Double.doubleToLongBits(a) >= Double.doubleToLongBits(b)
?
每个 IEEE 754 的东西是否有任何可能的错误?
我打算将两个正(非零)整数的速率值存储为 long 值而不是 double 值。
@Entity
public class ExchangeRate {
@PrePersist
protected void prePersist() {
targetAmountPerSourceAmount = Double.doubleToLongBits(
(double) targetAmount / (double) sourceAmount);
}
@Basic
private long targetAmountPerSourceAmount;
@Min(1)
@Max(Short.MAX_VALUE)
private short targetAmount;
@Min(1)
@Max(Short.MAX_VALUE)
private short sourceAmount;
}