LINUX.ORG.RU

unsigned char[4] to float


0

0

Здравствуйте. В приёмном буфере unsigned char [] у меня данные считанные с com-порта. Начиная с 6-го элемента там лежит число с плавающей запятой одинарной точности (стандарта IEEE754: 4 байта, little endian). Чтобы его вытащить из потока данных, корректно ли делать так:

unsigned char data_buffer[256];

float *data;

data=(float *)(&data_buffer[6]);

Если нет, то как это делается правильно?

>Чтобы его вытащить из потока данных, корректно ли делать так:

некорректно если нужна переносимость на другие архитектуры, а на i386 будет работать. В общем случае нужно побайтное копирование.

http://lex.iki.rssi.ru/~serj/docs/lemmings_ru/lemmings_ru.html#section_16

koTuk
()

Оперативность на уровне. Спасибо!

josephson ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.