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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2024, 12:23   #1
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 121
По умолчанию 4 Byte Array to float

Есть массив данных.

Код:
 BufferREAD  : Array[0..3] Of Byte;
В нём лежат 4 байта.
Необходимо конвертировать содержимое в значение Float.
Чередование байтов в массиве верное.
Никто не знает больше чем не знаю я

Последний раз редактировалось Nester; 22.11.2024 в 12:26.
Nester вне форума Ответить с цитированием
Старый 22.11.2024, 12:35   #2
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 121
По умолчанию

Нашел удобное решение на C но для Delphi использовать не могу

Код:
float snelheid;

union u_tag {
    byte b[4];
    float fval;
} u;

u.b[0] = snelheidArray[0];
u.b[1] = snelheidArray[1];
u.b[2] = snelheidArray[2];
u.b[3] = snelheidArray[3];

snelheid = u.fval;
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 22.11.2024, 13:27   #3
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 121
По умолчанию

Точнее не Float а Double )
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 22.11.2024, 13:40   #4
DIONISKA
Форумчанин
 
Регистрация: 07.11.2011
Сообщений: 178
По умолчанию

Код:
move(BufferREAD,value,SizeOf(BufferREAD));
?
Цитата:
Сообщение от Nester Посмотреть сообщение
Double
В Double же 8 байт, это в single 4
DIONISKA вне форума Ответить с цитированием
Старый 22.11.2024, 14:31   #5
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 121
По умолчанию

Цитата:
Сообщение от DIONISKA Посмотреть сообщение
Код:
move(BufferREAD,value,SizeOf(BufferREAD));
?

В Double же 8 байт, это в single 4
Тогда да. Подзабыл уже типы переменных
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 22.11.2024, 16:33   #6
Nester
Форумчанин
 
Аватар для Nester
 
Регистрация: 22.10.2008
Сообщений: 121
По умолчанию

Спасибо!
Никто не знает больше чем не знаю я
Nester вне форума Ответить с цитированием
Старый 25.11.2024, 17:09   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,918
По умолчанию

Цитата:
Сообщение от Nester Посмотреть сообщение
Нашел удобное решение на C но для Delphi использовать не могу
В Delphi есть вариантная запись
Код:
u_tag = packed record
  case Integer of
    0 : BufferREAD  : Array[0..3] Of Byte;
    1 : fval : sngle;
  end;
northener вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Array Of Byte -> TStream KiL0z Общие вопросы Delphi 9 18.06.2011 20:17
unsigned char в array<Byte> Artemprodigy Visual C++ 0 23.03.2011 11:19
Байты из файла в array of Byte Cold_Night Помощь студентам 5 09.12.2009 15:46
convert(array of byte, real48) Ringess Общие вопросы Delphi 3 24.06.2009 13:03
Array of byte в файл Deight Общие вопросы Delphi 3 05.12.2008 19:10