【发布时间】:2019-08-16 15:54:13
【问题描述】:
假设我有这个浮动:
float f;
我想将它存储在一个字符数组中:
char bytes[4];
然后反转数组回到浮动。 有什么帮助吗?提前致谢。
编辑:这是代码,它可以工作:
float amount = 0.01;
char array[sizeof(float)];
memcpy(array, &amount, sizeof(float));
float f;
char bytes[4] = {array[0], array[1], array[2], array[3]};
memcpy(&f, bytes, sizeof f);
【问题讨论】:
-
“反向”是指简单地将字节从数组移回
float,或者您的意思是颠倒字节的顺序,使最后一个字节在前,第一个字节在后,然后等等? -
@EricPostpischil 我的意思是简单地将字节从数组移回浮点数。
-
@ButiriDan 我需要存储它,而不是呈现它。
-
编辑中发布的代码对我有用,并附加了
printf("%g\n", f);(并且还包含在#include <stdio.h> /#include` / int main(void) { … }中)。它打印“0.01”。
标签: c arrays memory floating-point byte