Форум программистов, компьютерный форум CyberForum.ru

Разбиение вещественного числа на байты - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
grisha109
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 7
16.02.2010, 17:27     Разбиение вещественного числа на байты #1
Доброго времени суток!
Требуется помощь начинающему =)
Имеется число типа float, занимающее 4 байта. Для передачи этого числа по интерфейсу UART имеется функция которая может передавать только один байт за один вызов. Необходимо выделить в передатчике из этого 4-х байтного числа каждый байт и записать их в массив, а затем последовательно передав каждый из байтов в приемник снова собрать из полученных байтов первоначальное число.
Подскажите пожалуйста есть ли в С++ функции позволяющие производить такие операции с числами?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
16.02.2010, 18:08     Разбиение вещественного числа на байты #2
C
1
2
3
4
5
6
float f = 12.345;
char *c = (char*) &f;
send (c[0]);
send (c[1]);
send (c[2]);
send (c[3]);
grisha109
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 7
16.02.2010, 18:48  [ТС]     Разбиение вещественного числа на байты #3
Большое спасибо.
А обратная задача: как число в формате float восстановить имея эти 4 байта не подскажите?=)
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
16.02.2010, 20:03     Разбиение вещественного числа на байты #4
Точно так же:

C
1
2
3
4
5
6
7
float f = 12.345;
char *c = (char*) &f;
c[0] = receive ();
c[1] = receive ();
c[2] = receive ();
c[3] = receive ();
/* А теперь можно использовать f */
Yandex
Объявления
16.02.2010, 20:03     Разбиение вещественного числа на байты
Ответ Создать тему
Опции темы

Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru