gpt4 book ai didi

C - 将 float 存储到 char 数组并反转

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:21 30 4
gpt4 key购买 nike

假设我有这个 float :

float f;

我想将它存储在一个字符数组中:

char bytes[4];

然后反转数组回到 float 。有什么帮助吗?提前致谢。

编辑:这是代码,它可以工作:

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);

最佳答案

假设 sizeof(float) 为 4,您可以通过以下方式将 float 变量的值表示复制到 char 数组中memcpy:

#include <string.h>

void do_something(float f) {
char bytes[4];
memcpy(bytes, &f, 4);
// ...
}

您可以通过再次调用 memcpy() 来反转该操作(即,将表示复制回来),并反转前两个参数。在此期间,您可以操作字节——例如,反转它们——但在那种情况下,该语言不会对结果字节的float 解释说话顺序。

关于C - 将 float 存储到 char 数组并反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57527663/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com