【发布时间】:2016-04-07 09:33:53
【问题描述】:
我正在寻找允许我将浮点数转换为 HEX 字符串的内置 C 或 C++ 函数,到目前为止我使用过 itoa ,但它不适用于负值,因为它适用于 unsigned for base 16,所以我想知道我可以使用哪一个来代替可以处理负值。
使用 itoa 我失去了负值,如下所示,
Acceleration X: -9 | X angle: **-0.5156689167**
Acceleration Y: -69 | Y angle: **-3.9565520286**
Acceleration Z: 986 | Z angle: 80.4013519287
Value of ACC per axe (x,y,z) in HEX ->ffcdfe751f68
Data to be send x ->**ffcd**
Data to be send y ->**fe75**
Data to be send z ->1f68
我还可以使用哪些其他功能来实现相同的功能?
【问题讨论】:
-
@Marco 谢谢,我看到了这个解决方案,我不确定它是否适用于 Arduino。
-
如果您不确定,请尝试一下。
-
你想通过将浮点数转换为十六进制来实现什么?您不能将
float作为四个数据字节发送吗? -
不清楚你到底需要什么。您是否发送包含浮点数的十六进制表示的字符串?如果是这样,字符串不能包含任意数据吗?还是字符串真的只是一个字节数组,即任何数据?我之所以这么问,是因为我觉得您请求将浮点数转换为十六进制是错误的。