當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。