本文簡要介紹rust語言中 Struct core::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.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 SubAssign.sub_assign用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Struct core::num::Saturating。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。