Serialization 如何用C++;将十六进制浮点(%a)样式设置为f64?
我需要解析一个文本文件,其中包含通过C++的Serialization 如何用C++;将十六进制浮点(%a)样式设置为f64?,serialization,rust,floating-point,hex,Serialization,Rust,Floating Point,Hex,我需要解析一个文本文件,其中包含通过C++的printf(“%a”)创建的一组浮点数,如下所示: -0x1.68p+6-0x1.68p+7 据我所知,这是十六进制的尾数和指数 有没有办法用标准库解析这个?我找不到一个f64::from_str_radix,即使它存在, 它能正确解析0x和p部分吗 我想我错过了什么,因为f64字符串的无损转换应该足够流行了 函数将它们包含到标准库中。另请参见.Re:“f64字符串的无损转换应该足够流行,可以将它们包含到标准库中”-你说得对!默认的Debug格式化
printf(“%a”)
创建的一组浮点数,如下所示:
-0x1.68p+6-0x1.68p+7
据我所知,这是十六进制的尾数和指数 有没有办法用标准库解析这个?我找不到一个
f64::from_str_radix
,即使它存在,
它能正确解析0x
和p
部分吗
我想我错过了什么,因为f64
字符串的无损转换应该足够流行了
函数将它们包含到标准库中。另请参见.Re:“f64
字符串的无损转换应该足够流行,可以将它们包含到标准库中”-你说得对!默认的Debug
格式化程序(使用{:?}
格式化所获得的)是无损的。想想看,f64::to_bits
也是如此。不过,这两种格式都不是您要分析的格式。“这是十六进制的尾数和指数。”-->。-0x1.68
是十六进制的有效位,指数+6
是2的十进制幂。