Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приведение типов: char -> double [D5, WinXP]


AliceCat ©   (2005-01-05 13:16:00) 

Подскажите плиз, как в можно паскале преобразовать массив байт к типу double?


AliceCat   (2005-01-05 13:57:00) [1]

Спасибо за помощь, вроде уже разобрался...
А насчет 9 байт это просто опечатка. Хотя вообще-то у меня в буфере 1024 байта :)


begin...end   (2005-01-05 13:46:00) [2]

> [3] AliceCat   (05.01.05 13:27)

Мы же не знаем, что там в массиве за байты. Тем более, что их девять.


Александр Иванов   (2005-01-05 13:39:00) [3]

Buffer = array [0..8] of byte;

Buffer в данном случае 9 байт.


KSergey   (2005-01-05 13:31:00) [4]

Записхать в вариантный рекорд?


Anatoly Podgoretsky   (2005-01-05 13:31:00) [5]

А разница такая, что непонятно, тольи ты хочешь преобразовать из строчного, то ли привести буфер к нужному.


AliceCat   (2005-01-05 13:27:00) [6]

Ну, допустим, byte:

Buffer = array [0..8] of byte;

A какая разница?


Александр Иванов   (2005-01-05 13:26:00) [7]

The Double type

An 8-byte (64-bit) Double number is divided into three fields
1               11                52
s                e                 f

The value v of the number is given by

if 0 < e < 2047, then v = (–1)^s * 2^(e–1023) * (1.f )
if e = 0 and f <> 0, then v = (–1)^s * 2^(–1022) * (0.f )

if e = 0 and f = 0, then v = (–1)^s * 0
if e = 2047 and f = 0, then v = (–1)^s * Inf
if e = 2047 and f <> 0, then v is a NaN


Anatoly Podgoretsky   (2005-01-05 13:20:00) [8]

Так ты определись char или byte


Наверх

Титульная страница Поиск, карта сайта Написать письмо