2010-08-31 6 views
1

У меня есть четырехбайтовый массив символов, и я хочу преобразовать его в double. Как я могу достичь этого в C.байтовый массив, чтобы удвоить

+1

Это полностью зависит от того, что представляет ваш четырехбайтовый массив символов. Это целое число? Число с фиксированной точкой? Число с плавающей запятой? В каком формате? – caf

+0

его плавающей точкой. – Ideveloper

+1

Существует более одного формата чисел с плавающей запятой. – caf

ответ

2

и double так тесно связаны в C, что явное преобразование, вероятно, не требуется. Однако это необходимо для передачи в другую систему или для соответствия спецификации формата данных. Это будет делать то, что вы просите:

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

memcpy (x.c, character_source, sizeof x.c); 
d = x.f; 
Смежные вопросы