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


Rust f32.from_bits用法及代碼示例


本文簡要介紹rust語言中 f32.from_bits 的用法。

用法

pub fn from_bits(v: u32) -> f32

來自 u32 的原始嬗變。

這目前與所有平台上的transmute::<u32, f32>(v) 相同。事實證明這是非常便攜的,原因有兩個:

  • 浮點數和整數在所有支持的平台上具有相同的字節序。
  • IEEE-754 非常精確地指定了浮點數的位布局。

不過,有一點需要注意:在 IEEE-754 2008 版之前,實際上並未指定如何解釋 NaN 信令位。大多數平台(特別是 x86 和 ARM)選擇了最終在 2008 年標準化的解釋,但有些平台(特別是 MIPS)沒有選擇。因此,MIPS 上的所有信令 NaNs 在 x86 上都是安靜的 NaNs,反之亦然。

此實現傾向於保留確切的位,而不是嘗試保留 signaling-ness cross-platform。這意味著即使此方法的結果通過網絡從 x86 計算機發送到 MIPS 計算機,NaNs 中編碼的任何有效負載也將被保留。

如果此方法的結果僅由產生它們的同一架構操作,則不存在可移植性問題。

如果輸入不是 NaN,則不存在可移植性問題。

如果您不關心信令(很可能),那麽就沒有可移植性問題。

請注意,該函數不同於as鑄造,試圖保留數字值,而不是按位值。

例子

let v = f32::from_bits(0x41480000);
assert_eq!(v, 12.5);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 f32.from_bits。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。