2010-08-31 69 views
1

我有一个四字节字符数组,我想将它转换为double。我如何在C中达到这个目的。字节数组加倍

+1

这完全取决于你的四字节字符数组代表。它是一个整数吗?一个定点数字?一个浮点数?以什么格式?其浮点数为 – caf 2010-08-31 05:50:11

+0

。 – Ideveloper 2010-08-31 05:50:46

+1

有多种格式的浮点数。 – caf 2010-08-31 06:04:44

回答

2

floatdoubleC中如此密切相关,以至于可能不需要显式转换。但是,传输到另一个系统或匹配数据格式规范是必要的。这将做你所问:

union { 
    char c [4]; 
    float f; 
} x; 
double d; 

memcpy (x.c, character_source, sizeof x.c); 
d = x.f;