我想将浮点数(例如 2.45)转换为 4 字节字符数组。
所以 2.45 应该是这样的'@' 'FS' 'Ì' 'Í'
这是二进制的 IEEE 表示2.45 = 01000000 00011100 11001100 11001101
?
我已经解决了这个问题,但它的复杂性很差。你有什么好主意吗?
感谢您的好回答。
你能告诉我从 char 数组返回浮点数的方法吗?
只需使用 memcpy:
#include <string.h>
float f = 2.45f;
char a[sizeof(float)];
memcpy(a, &f, sizeof(float));
如果您需要相反的字节序,那么反转字节中的字节是一件微不足道的事情a
之后,例如
int i, j;
for (i = 0, j = sizeof(float) - 1; i < j; ++i, --j)
{
char temp = a[i];
a[i] = a[j];
a[j] = temp;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)