【发布时间】:2017-06-16 15:51:23
【问题描述】:
我有这些输入变量:
uint16 temperature = 0x1f12;
uint8 array[8] = {0,0,0,...0}
我想拥有
array8[0] = '1';
array8[1] = 'f';
array8[2] = '1';
array8[3] = '2';
array8[4] = '\0';
array8[5] = '\0';
array8[6] = '\0';
array8[7] = '\0';
但是,对于内存问题(我正在使用微控制器!)我需要避免使用 sprintf、printf、puts 等函数。
我该怎么办?
最好的问候,
【问题讨论】:
-
只需移动和屏蔽这些值。如果介于 0 和 9 之间,则添加
'0',否则添加'A'-10。 -
否则添加
'a' - 10,即'W' -
应该
array[]写前导0数字吗?示例:应该temperature = 0x123-->"123"或"0123"还是没有区别? -
您的编辑破坏了现有答案。此外,
array8 = '1f12'没有任何意义。请回滚您的问题。