Обычно double - это уже восемь байтов. Пожалуйста, проверьте это в вашей операционной системе, сравнив sizeof (double) и sizeof (char). C ++ не объявляет байт , обычно это означает char
Если это действительно так.
double x[2] = { 1.0 , 2.0};
double* pToDouble = &x[0];
char* bytes = reinterpret_cast<char*>(pToDouble);
Теперь байты - это то, что вам нужно отправить ZigBee