Как собрать double число в vb6, если его присылают побайтно?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
mcnick
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 10.06.2007 (Вс) 11:23

Как собрать double число в vb6, если его присылают побайтно?

Сообщение mcnick » 10.06.2007 (Вс) 11:36

через com порт компьютера мне приходят 10 байт побайтно, в которых находится неизвестное число с плавающей точкой. необходимо коректно собрать это число и вывести на индикацию. ни в бинарной, ни в текстовой настройке com порта vb6 пока не понимает. как вообще корректно собрать double число, если оно извлекается побайтно, например, из бинарного файла.
благодарю за помощь. mcnick.
:)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 10.06.2007 (Вс) 11:39

Вообще-то Double это 8 байт. Собирать путем копирования 8 байтов в один Double. CopyMemory, например весьма пользительно
Весь мир матрица, а мы в нем потоки байтов!

mcnick
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 10.06.2007 (Вс) 11:23

как собрать dauble число, если оно приходит побайтно?

Сообщение mcnick » 17.06.2007 (Вс) 11:19

то что в vb double - это 8 байт, я то знаю, но на том конце COM порта у меня микроконтроллер, а программа для него написана на С и он присылает именно 10 байт, в том-то вся и фишка. но подсказка верна в принципе и функции API я попробую.
спасибо.
mcnick.
:D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.06.2007 (Вс) 11:30

Стандарт IEEE double не зависит от языка.
Если приходит 10 байт, это не double.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 17.06.2007 (Вс) 11:59

Почему присылает именно 10 байт, хотя нужно 8?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.06.2007 (Вс) 12:14

Наверное потому, что это пятый из пяти истинных типов данных x86.
В Паскале его называют extended, в Сях -- что-то вроде long double.
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 22

    TopList