массив байтов для удвоения - PullRequest
1 голос
/ 31 августа 2010

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

1 Ответ

2 голосов
/ 31 августа 2010

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

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

memcpy (x.c, character_source, sizeof x.c);
d = x.f;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...