关于如何在float中将小数部分与整数部分分开有很多答案,但有没有办法有效地从2个整数中组装浮点数?例如,123和012345将生成123.012345 (不一定是确切的)
这个问题是在阅读"How to parse space-separated floats in c++ quickly"之后,链接的答案使用以下方法来组装浮点数:
strtol
提取数字。 (将是整数),提取'。'右边的数字。 (将是小数部分)是否有更有效的方法(在c ++ 14及以上版本中)?目前它需要乘法和加法,这可以在组装数亿个这样的数字时发挥作用。
......会直接设置指数和尾数的东西吗?
修改
关于将012345与12345区分开来,当它处于int形式时,上面链接的作者使用strtol,所以我可以计算解析时我们旅行的长度。所以我知道这个数字是6位数(例如),即使我有12345