【发布时间】:2016-10-03 03:55:47
【问题描述】:
我必须将浮点数四舍五入为小数。四舍五入后,我应该将此数字转换为十六进制。我想我已经用round() 完成了结束部分。
有没有办法在 C 中将十进制转换为十六进制,并将其存储到数组的一部分中?
我正在思考printf() 如何将十进制转换为十六进制的概念。
我的想法是这样的:
float k = 10.123;
int a;
unsigned char var_store[1];
unsigned char array_t[3];
array_t[0] = 0x01;
array_t[1] = 0x04;
a = round(k);
var_store[0] = sprintf("%x",a);
array_t[2] = var_store[0];
但我有一个
警告传递 'sprintf' 的参数 2 使指针来自整数 没有演员表
我不确定这是否是这样做的方法。但我认为这是相对直截了当的。谢谢
【问题讨论】:
-
是的,有办法做到这一点,你可以用 sprintf 做到这一点。但是您使用 sprintf 不正确。您是否阅读了 sprintf 的文档?
-
代码中的最后两行暗示您需要了解该语言的基础知识(或者至少想想您想要做什么)。当然没有冒犯。