Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2007, 10:10   #1
Blondinka
Пользователь
 
Регистрация: 14.09.2007
Сообщений: 16
Радость Числа с плавающей точкой

Простите, неправильно сформулировала ? !
Надо представить не как строку а представить в виде байт.
В общем, получаю данные в виде символьной строки с сом порта. В этой строке и есть числа с плавающими точками.
Как привести данные в нормальный вид?
Blondinka это моё мироощущение при програмировании...
Blondinka вне форума Ответить с цитированием
Старый 21.09.2007, 10:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Приведи пожалуйста пример строки, с плавающим числом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.09.2007, 10:53   #3
Blondinka
Пользователь
 
Регистрация: 14.09.2007
Сообщений: 16
По умолчанию пример:

Ну вот такая примерно:
?y?yI.?.....eU.A8oB<|o0;...B)\.B.®. B..AB?egBazXB..*A..*Ay_??NX3A?.&A?? 8A@$O?.....................?..
Blondinka это моё мироощущение при програмировании...
Blondinka вне форума Ответить с цитированием
Старый 21.09.2007, 10:56   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

В формате HEX как правило нет запятых. Обо свех запятых должна позаботится ты в своей программе. Например когда я писал аналогичную прогу для управления контроллером то мы с напарником (он программировал сам контроллер) условились что он передаёт мне число (например 45,2) как 452 двумя байтами (014С), я эти байты "соединяю" в одно число (получаю 452) я делю его на 10 + у нас был ещё один байт который отвечал за деление т.е. если он =FF то я делил число на 10 если 00 то оставлял каак есть + посдсчёт контрольной суммы CRC16. Таким образом тебе не мешало бы знать протокол обмена твоего устройства.
SERG1980 вне форума Ответить с цитированием
Старый 21.09.2007, 10:59   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ага. ну предположем со второго символа - это real
тогда в переменку типа Real мы заносим эти байты так :

move(s[2],r,sizeof(r));

только надо учесть сколько байт - ведь с плавзапятой и real и Double бывают. Тогда просто правильно укажи тип для переменки r, а SizeOf уже вичислит сколько байт начиная с s[2] переложить в r.

Verstehen?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.09.2007, 11:06   #6
Blondinka
Пользователь
 
Регистрация: 14.09.2007
Сообщений: 16
Злость

Хотите сказать, что вариантов передачи куча????
Не 1 единственный?
Блин!!!
Я ж из протокола знаю немного, они передаются с С++
сказано так: данные с плавающей точкой float Borland C++3.1
Это что-нибудь значит?
Blondinka это моё мироощущение при програмировании...
Blondinka вне форума Ответить с цитированием
Старый 21.09.2007, 11:06   #7
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

согласен. Потому и говорю что не мешало бы знать (в обязательном порядке) протокол обмена
SERG1980 вне форума Ответить с цитированием
Старый 21.09.2007, 11:15   #8
Blondinka
Пользователь
 
Регистрация: 14.09.2007
Сообщений: 16
Подмигивание

Спасибо, теперь есть над чем подумать...
Не справлюсь вернусь!!!
А ещё за строки огромное спасибо вам ребята, разобралась!
Blondinka это моё мироощущение при програмировании...
Blondinka вне форума Ответить с цитированием
Старый 21.09.2007, 11:32   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Float это кажись 32 бита т.е.4 байта - получается тип Single
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сложить два числа с плавающей точкой forsy Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 19 29.03.2010 02:15
Сравнение чисел с плавающей точкой ? Ulex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 12.04.2008 21:14
Преобразование числа с плавающей точкой в строку Sibedir Общие вопросы Delphi 14 09.03.2008 21:48