当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust FpCategory用法及代码示例


本文简要介绍rust语言中 Enum core::num::FpCategory 的用法。

用法

pub enum FpCategory {
    Nan,
    Infinite,
    Zero,
    Subnormal,
    Normal,
}

浮点数的分类。

enum 用作 f32::classify f64::classify 的返回类型。有关更多信息,请参阅他们的文档。

例子

use std::num::FpCategory;

let num = 12.4_f32;
let inf = f32::INFINITY;
let zero = 0f32;
let sub: f32 = 1.1754942e-38;
let nan = f32::NAN;

assert_eq!(num.classify(), FpCategory::Normal);
assert_eq!(inf.classify(), FpCategory::Infinite);
assert_eq!(zero.classify(), FpCategory::Zero);
assert_eq!(nan.classify(), FpCategory::Nan);
assert_eq!(sub.classify(), FpCategory::Subnormal);

变体

Nan

NaN(不是数字):该值是由 (-1.0).sqrt() 等计算得出的。

有关 NaN 异常属性的更多信息,请参阅 f32 的文档。

Infinite

正无穷或负无穷,通常是由非零数除以零得出的。

Zero

正零或负零。

有关零符号的更多信息,请参阅 f32 的文档。

Subnormal

“Subnormal” 或 “denormal” 浮点表示(相对于它们的大小而言,不如 Normal 精确)。

次正规数的量级大于 Zero ,但量级小于所有 Normal 数。

Normal

一个常规的浮点数,而不是任何特殊类别。

最小的正法行数是 f32::MIN_POSITIVE f64::MIN_POSITIVE ,最大的正法行数是 f32::MAX f64::MAX 。 (与有符号整数不同,浮点数在其范围内是对称的,因此对这些常数中的任何一个取反都会产生它们的负数。)

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Enum core::num::FpCategory。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。