|
|
@ -53,7 +53,12 @@ Rust 使用一个相对传统的语法来创建整数(`1`,`2`,...)和浮
|
|
|
|
- 使用 `wrapping_*` 方法在所有模式下都按照补码循环溢出规则处理,例如 `wrapping_add`
|
|
|
|
- 使用 `wrapping_*` 方法在所有模式下都按照补码循环溢出规则处理,例如 `wrapping_add`
|
|
|
|
- 如果使用 `checked_*` 方法时发生溢出,则返回 `None` 值
|
|
|
|
- 如果使用 `checked_*` 方法时发生溢出,则返回 `None` 值
|
|
|
|
- 使用 `overflowing_*` 方法返回该值和一个指示是否存在溢出的布尔值
|
|
|
|
- 使用 `overflowing_*` 方法返回该值和一个指示是否存在溢出的布尔值
|
|
|
|
- 使用 `saturating_*` 方法使值达到最小值或最大值
|
|
|
|
- 使用 `saturating_*` 方法,可以限定计算后的结果不超过目标类型的最大值或低于最小值,例如:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```rust
|
|
|
|
|
|
|
|
assert_eq!(100u8.saturating_add(1), 101);
|
|
|
|
|
|
|
|
assert_eq!(u8::MAX.saturating_add(127), u8::MAX);
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
下面是一个演示`wrapping_*`方法的示例:
|
|
|
|
下面是一个演示`wrapping_*`方法的示例:
|
|
|
|
|
|
|
|
|
|
|
|