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