Error[8]: Undefined offset: 2, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我遇到了将float转换为字符串的问题,其中to_string对我来说太慢了,因为我的数据可能涉及数百万浮点数. 由于peter.write text file fast,我已经有了如何快速写出这些数据的解决方案 然而,在解决了这个问题之后,我很快意识到将float转换为string会产生很大的影响. 那么,除了使用其他非标准库之外,还有什么想法或解决方案吗? 记住的优化是不直接使用to_stri 我遇到了将float转换为字符串的问题,其中to_string对我来说太慢了,因为我的数据可能涉及数百万浮点数.

由于peter.write text file fast,我已经有了如何快速写出这些数据的解决方案

然而,在解决了这个问题之后,我很快意识到将float转换为string会产生很大的影响.

那么,除了使用其他非标准库之外,还有什么想法或解决方案吗?

解决方法 记住的优化是不直接使用to_string,每次调用它时都会创建一个新字符串.
您可能最终也会复制该字符串,这样效率不高.

你可以做的是分配一个足够大的char缓冲区来存储你需要的所有字符串表示,然后使用printf

http://www.cplusplus.com/reference/cstdio/printf/

一直重用相同的缓冲区.
如果将浮点数的精度限制为固定的小数位数,则可以计算浮点数在数组中表示的偏移量.

例如,如果我们只有一个值数组:

index = 1;float f = value[index];//corrresponding 6 chars floatconst char* s = char_array[index*1];//the representation will start at position 6,and it will be null terminated so you can use it as a string

澄清您的char_array将如下所示:

1.2000.4324[+++]...
总结

以上是内存溢出为你收集整理的c 11 – 将float转换为字符串的最快C方式全部内容,希望文章能够帮你解决c 11 – 将float转换为字符串的最快C方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
c 11 – 将float转换为字符串的最快C方式_C_内存溢出

c 11 – 将float转换为字符串的最快C方式

c 11 – 将float转换为字符串的最快C方式,第1张

概述我遇到了将float转换为字符串的问题,其中to_string对我来说太慢了,因为我的数据可能涉及数百万浮点数. 由于peter.write text file fast,我已经有了如何快速写出这些数据的解决方案 然而,在解决了这个问题之后,我很快意识到将float转换为string会产生很大的影响. 那么,除了使用其他非标准库之外,还有什么想法或解决方案吗? 记住的优化是不直接使用to_stri 我遇到了将float转换为字符串的问题,其中to_string对我来说太慢了,因为我的数据可能涉及数百万浮点数.

由于peter.write text file fast,我已经有了如何快速写出这些数据的解决方案

然而,在解决了这个问题之后,我很快意识到将float转换为string会产生很大的影响.

那么,除了使用其他非标准库之外,还有什么想法或解决方案吗?

解决方法 记住的优化是不直接使用to_string,每次调用它时都会创建一个新字符串.
您可能最终也会复制该字符串,这样效率不高.

你可以做的是分配一个足够大的char缓冲区来存储你需要的所有字符串表示,然后使用printf

http://www.cplusplus.com/reference/cstdio/printf/

一直重用相同的缓冲区.
如果将浮点数的精度限制为固定的小数位数,则可以计算浮点数在数组中表示的偏移量.

例如,如果我们只有一个值数组:

index = 1;float f = value[index];//corrresponding 6 chars floatconst char* s = char_array[index*1];//the representation will start at position 6,and it will be null terminated so you can use it as a string

澄清您的char_array将如下所示:

1.2000.4324...
总结

以上是内存溢出为你收集整理的c 11 – 将float转换为字符串的最快C方式全部内容,希望文章能够帮你解决c 11 – 将float转换为字符串的最快C方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存