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


Rust f64.from_bits用法及代码示例


本文简要介绍rust语言中 f64.from_bits 的用法。

用法

pub fn from_bits(v: u64) -> f64

来自 u64 的原始嬗变。

这目前与所有平台上的transmute::<u64, f64>(v) 相同。事实证明这是非常便携的,原因有两个:

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

不过,有一点需要注意:在 IEEE-754 2008 版之前,实际上并未指定如何解释 NaN 信令位。大多数平台(特别是 x86 和 ARM)选择了最终在 2008 年标准化的解释,但有些平台(特别是 MIPS)没有选择。因此,MIPS 上的所有信令 NaNs 在 x86 上都是安静的 NaNs,反之亦然。

此实现倾向于保留确切的位,而不是尝试保留 signaling-ness cross-platform。这意味着即使此方法的结果通过网络从 x86 计算机发送到 MIPS 计算机,NaNs 中编码的任何有效负载也将被保留。

如果此方法的结果仅由产生它们的同一架构操作,则不存在可移植性问题。

如果输入不是 NaN,则不存在可移植性问题。

如果您不关心signaling-ness(很可能),那么就没有可移植性问题。

请注意,该函数不同于as铸造,试图保留数字值,而不是按位值。

例子

let v = f64::from_bits(0x4029000000000000);
assert_eq!(v, 12.5);

相关用法


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