Цитата(BFunTic @ Dec 26 2007, 09:36)

Как в массив типа char записать значение типа float???
Для работы с отдельными байтами можно использовать union
Я всегда определяю union-ы, а потом ими везде где требуется пользуюсь:
Код
union Char2 { int I;
char C[2]; };
union Char2un {
unsigned int I;
unsigned char C[2]; };
union Char3un {
unsigned int I;
unsigned char C[3]; };
union Char4 { float F;
long L;
int I[2];
char C[4]; };
union Char4un { float F;
unsigned long L;
unsigned int I[2];
unsigned char C[4]; };
union Char2un DataLen;
union Char2un CRC16;
union Char4un Buff;
Далее с ними можно работать, как с любыми типами:
Код
Buff.F = 3.14159;
Buff.L = 1234567;
Buff.I[1] = 3456;
Buff.C[2] = 0x55;
if (Buff.C[0]==Buff.C[3]) .....;
Цитата(777777 @ Dec 26 2007, 13:07)

Только непонятно: зачем такие извращения? Зачем понадобилось в массив чаров записывать флоат? Может в архитектуре что-то не так?
Это требуется довольно часто, например при передаче параметров по байтовым интерфейсам (UART, SPI и т.д.)