gpt4 book ai didi

c++ - 有效地将两个整数 x 和 y 转换为 float x.y

转载 作者:行者123 更新时间:2023-12-01 12:51:53 24 4
gpt4 key购买 nike

给定两个整数 X 和 Y,在 C++ 中将它们转换为 X.Y 浮点值的最有效方法是什么?

例如。

 X = 3, Y = 1415 -> 3.1415

X = 2, Y = 12 -> 2.12

最佳答案

这里有一些鸡尾酒餐巾纸基准测试结果,在我的机器上,所有解决方案转换两个 int s 到 float ,截至撰写本文时。
警告:我现在添加了我自己的解决方案,它似乎做得很好,因此有偏见!请仔细检查我的结果。


测试
迭代次数
ns/迭代


@aliberro 的转换 v2
79,113,375
13

@3Dave 的转换
84,091,005
12

@einpoklum 的转换
1,966,008,981
0

@Ripi2 的转换
47,374,058
21

@TarekDakhran 的转换
1,960,763,847
0


  • CPU:四核 Intel Core i5-7600K 速度/最小值/最大值:4000/800/4200 MHz
  • Devuan GNU/Linux 3
  • 内核:5.2.0-3-amd64 x86_64
  • GCC 9.2.1,带有标志:-O3 -march=native -mtune=native

  • Benchmark code (Github 要点)。

    关于c++ - 有效地将两个整数 x 和 y 转换为 float x.y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61047308/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com