我想将一个浮点数(例如f=1.234)转换为字符数组(例如s="1.234")。使用snprintf()很容易实现,但由于某些大小和性能原因,我不能使用它(它是一个嵌入式平台,其中snprintf()因为在内部使用双精度而太慢了)。
那么问题来了:如何轻松地将浮点数转换为字符数组(正负浮点数,没有指数表示,小数点后最多三位数字)?
谢谢!
PS:为了澄清这一点:该平台配备了一个NEON FPU,可以在硬件上执行32位浮点运算,但对64位双精度有些慢。该平台的C库不幸没有特定的NEON / float变体的snprintf,因此我需要一个替代方案。除此之外,整个snprintf / printf功能会增加太多代码大小。
那么问题来了:如何轻松地将浮点数转换为字符数组(正负浮点数,没有指数表示,小数点后最多三位数字)?
谢谢!
PS:为了澄清这一点:该平台配备了一个NEON FPU,可以在硬件上执行32位浮点运算,但对64位双精度有些慢。该平台的C库不幸没有特定的NEON / float变体的snprintf,因此我需要一个替代方案。除此之外,整个snprintf / printf功能会增加太多代码大小。
1.234
存储为1234
。 - user3386109