本文简要介绍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 f32.from_be_bytes用法及代码示例
- Rust f32.from_ne_bytes用法及代码示例
- Rust f32.from_le_bytes用法及代码示例
- Rust f32.fract用法及代码示例
- Rust f32.floor用法及代码示例
- Rust f32.exp用法及代码示例
- Rust f32.hypot用法及代码示例
- Rust f32.minimum用法及代码示例
- Rust f32.sqrt用法及代码示例
- Rust f32.abs_sub用法及代码示例
- Rust f32.cos用法及代码示例
- Rust f32.is_sign_positive用法及代码示例
- Rust f32.log10用法及代码示例
- Rust f32.total_cmp用法及代码示例
- Rust f32.recip用法及代码示例
- Rust f32.sinh用法及代码示例
- Rust f32.ln_1p用法及代码示例
- Rust f32.min用法及代码示例
- Rust f32.to_bits用法及代码示例
- Rust f32.atan2用法及代码示例
- Rust f32.to_radians用法及代码示例
- Rust f32.atanh用法及代码示例
- Rust f32.cbrt用法及代码示例
- Rust f32.to_be_bytes用法及代码示例
- Rust f32.maximum用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 f32.from_bits。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。