|
|
|
@ -197,7 +197,7 @@ note: run with `RUST_BACKTRACE=1` environment variable to display
|
|
|
|
|
➥a backtrace
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
仔细看,对`f32`类型做加法时,`0.1+0.2`的结果是`3e99999a`,0.3也是`3e99999a`,因此`f32`下的`0.1+0.2=0.3`通过测试,但是到了`f64`类型时,结果就不一样了,因为f64精度高很多,因此在小数点非常后面发生了一点微小的变化,`0.1+0.2`以`4`结尾,但是0.3以`3`结尾,这个细微区别导致`f64`下的测试失败了,并且抛出了异常。
|
|
|
|
|
仔细看,对`f32`类型做加法时,`0.1+0.2`的结果是`3e99999a`,0.3也是`3e99999a`,因此`f32`下的`0.1+0.2==0.3`通过测试,但是到了`f64`类型时,结果就不一样了,因为f64精度高很多,因此在小数点非常后面发生了一点微小的变化,`0.1+0.2`以`4`结尾,但是0.3以`3`结尾,这个细微区别导致`f64`下的测试失败了,并且抛出了异常。
|
|
|
|
|
|
|
|
|
|
是不是**blow your mind away**? 没关系,在本书的后续章节中类似的直击灵魂的地方还很多,这就是敢号称`Rust语言圣经`的底气!
|
|
|
|
|
|
|
|
|
@ -292,4 +292,4 @@ use num::complex::Complex;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|