浮点数转16进制疏失

浮点数转16进制出错unsigned char data[4]double num 29.0078memcpy(&data[0],&num,4)结果为什么不对

浮点数转16进制出错

unsigned char data[4];
double num = 29.0078;
memcpy(&data[0],&num,4);

结果为什么不对?
[解决办法]
SIZEOF(DOUBLE)==8

[解决办法]
是的 double类型占用8个字节 需要相应的8个字符接收