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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
grisha109
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 7
#1

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

16.02.2010, 17:27. Просмотров 2136. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
Требуется помощь начинающему =)
Имеется число типа float, занимающее 4 байта. Для передачи этого числа по интерфейсу UART имеется функция которая может передавать только один байт за один вызов. Необходимо выделить в передатчике из этого 4-х байтного числа каждый байт и записать их в массив, а затем последовательно передав каждый из байтов в приемник снова собрать из полученных байтов первоначальное число.
Подскажите пожалуйста есть ли в С++ функции позволяющие производить такие операции с числами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2010, 17:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разбиение вещественного числа на байты (C++):

Сформировать отдельно байты целого числа - C++
Добрый день. Есть массив байт byte data = {0x01, 0x01}; Соответственно в нем целочисленное значение: 1х256 + 1 = 257. Как можно...

Разбиение числа по битам - C++
Всем привет! Есть int - число, его нужно разбить в четыре char - переменных. Как это сделать?

Разбиение числа на цифры - C++
здравствуйте, подскажите есть ли функция, которая разбивает число на другие числа, которые его составляют? к примеру число 294...

Разбиение числа на цифры - C++
Пользователь вводит с клавиатуры число 2547,а программа выводит 2 5 4 7

Перевод вещественного числа из N сс в K сс - C++
входные данные: вещественное число,его основание и основание,в которое переводится число. Выходные данные: число в K основании. Знаю,на...

Разбиение числовой строки на отдельные числа - C++
Допустим,пользователь в одну строку вводит 12 24 13. Нужно чтобы n=12;m=24;k=13. Спасибо заранее :)

3
Evg
Эксперт CАвтор FAQ
17941 / 6172 / 411
Регистрация: 30.03.2009
Сообщений: 16,942
Записей в блоге: 27
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]);
0
grisha109
0 / 0 / 0
Регистрация: 16.02.2010
Сообщений: 7
16.02.2010, 18:48  [ТС] #3
Большое спасибо.
А обратная задача: как число в формате float восстановить имея эти 4 байта не подскажите?=)
0
Evg
Эксперт CАвтор FAQ
17941 / 6172 / 411
Регистрация: 30.03.2009
Сообщений: 16,942
Записей в блоге: 27
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 */
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2010, 20:03
Привет! Вот еще темы с ответами:

Вывод вещественного числа в нулями - C++
Здравствуйте. У меня есть число 1.8 Но мне нужно вывести 1.80 Скажите как это сделать в с++, если в СИ это выглядело бы %.2f

Перевод вещественного числа в строку! - C++
вообщем проблема такова!делаю программу для определения скорости мыши,после того как сделал кое какие обработки событий получается...

Ввод и вывод вещественного числа - C++
3. Напишите программу ввода вещественного числа и вывода его на экран в следующей форме: - округленным до целого, - в...

Разбиение числа на сумму квадратов(ошибка в коде). - C++
Задача банальна: с клавиатуры вводится число, нужно его представить в виде суммы двух квадратов. Программа должна работать менее 1 секунды....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
16.02.2010, 20:03
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru