![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование массива байтов в вещественное число [D7, XP]
Zheksonz © (2012-06-25 12:27:00)Добрый день.
Имеется массив из 8 байтов, в котором хранится вещественное число. Как преобразовать этот массив в вещественное число?
Zheksonz (2012-06-25 13:36:00) [21]
> icWasya © (25.06.12 13:19) [6]
А по аналогии с этим кодом на Делфи можно сделать соответствующую ф-цию?
Zheksonz (2012-06-25 13:20:00) [22]
> icWasya © (25.06.12 13:19) [6]
слиииииииииииииишком умный программер ваял, вполне возможно, что обоснованно не так. Хотя не факт конечно.
icWasya (2012-06-25 13:19:00) [23]Ну если по Си_шному, то почему не так?
double __fastcall TWindow::ReadFloat64(TIdTCPClient *TCPClient)
{
double float64;
TCPClient->Socket->ReadBytes(&float64, 8, false);
return float64;
}
Zheksonz (2012-06-25 12:40:00) [24]Если у кого-нибудь есть ссылка на соответствующую документацию, скиньте плз, буду очень благодарен.
Или может проще по аналогии вот с этим СИ_шным кодом сделать?
double __fastcall TWindow::ReadFloat64(TIdTCPClient *TCPClient)
{
TByteDynArray buff;
TCPClient->Socket->ReadBytes(buff, 8, false);
unsigned char *rawbuff = new unsigned char[8];
BytesToRaw(buff, rawbuff, 8);
double float64 = *(double*)rawbuff;
delete rawbuff;
return float64;
}
Inovet (2012-06-25 12:34:00) [25]> [3] Zheksonz (25.06.12 12:31)
> Ой чувствую сдвину я сейчас систему ))
Система устойчиво стоит.
Zheksonz (2012-06-25 12:31:00) [26]
> Ega23 © (25.06.12 12:29) [1]
> System.MoveТолько за порядком следить, естественно.
Ой чувствую сдвину я сейчас систему ))
MBo (2012-06-25 12:31:00) [27]DoubleVar := PDouble(@ByteArr[0])^
(или с помощью absolute)
Ega23 (2012-06-25 12:29:00) [28]System.Move
Только за порядком следить, естественно.