本文简要介绍rust语言中 Struct std::num::Saturating
的用法。
用法
#[repr(transparent)]pub struct Saturating<T>(pub T);
在 T
上提供 intentionally-saturating 算术。
u32
值上的 +
等操作旨在永不溢出,并且在某些调试配置中检测到溢出并导致Panics。虽然大多数算术都属于这一类,但一些代码明确期望并依赖于饱和算术。
饱和算术可以通过 saturating_add
之类的方法或通过 Saturating<T>
类型来实现,该类型表示对基础值的所有标准算术运算都旨在具有饱和语义。
可以通过Saturating
元组的.0
索引检索基础值。
例子
#![feature(saturating_int_impl)]
use std::num::Saturating;
let max = Saturating(u32::MAX);
let one = Saturating(1u32);
assert_eq!(u32::MAX, (max + one).0);
元组字段
0: T
相关用法
- Rust Saturating.reverse_bits用法及代码示例
- Rust Saturating.signum用法及代码示例
- Rust Saturating.to_le用法及代码示例
- Rust Saturating.count_ones用法及代码示例
- Rust Saturating.trailing_zeros用法及代码示例
- Rust Saturating.pow用法及代码示例
- Rust Saturating.swap_bytes用法及代码示例
- Rust Saturating.rotate_left用法及代码示例
- Rust Saturating.count_zeros用法及代码示例
- Rust Saturating.is_power_of_two用法及代码示例
- Rust Saturating.from_le用法及代码示例
- Rust Saturating.is_positive用法及代码示例
- Rust Saturating.abs用法及代码示例
- Rust Saturating.is_negative用法及代码示例
- Rust Saturating.to_be用法及代码示例
- Rust Saturating用法及代码示例
- Rust Saturating.from_be用法及代码示例
- Rust Saturating.rotate_right用法及代码示例
- Rust Saturating.leading_zeros用法及代码示例
- Rust String.try_reserve用法及代码示例
- Rust SyncSender.send用法及代码示例
- Rust Seek.stream_len用法及代码示例
- Rust SplitNMut用法及代码示例
- Rust SocketAddrV6.ip用法及代码示例
- Rust Shl.shl用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Struct std::num::Saturating。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。