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

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

Хранение в памяти типа Extended, Real, Double, Float... [D7, WinXP]


maker ©   (2006-04-23 00:09:00) 

Здраствуйте!
Помогите пожалуйста с таким вопросом. У меня есть переменная типа double или аналогичная вещественного типа, каким образом мне можно её рассомтреть ввиде отдельных байтов, которые хранятся в памяти. Ну собственно мне нужно из получить из из памяти (для double их будет 8, например). Именно те где хранятся знак чила, занк порядка порядок, мантисса и тд.
Для целых чисел это просто: берем byte() от числа, сдвинутого на нужное количество знаков...
Спасибо за ваше внимание моему вопросу.
Буду очень признателен если у вас есть какие либо соображения по поводу моего вопроса.


maker   (2006-04-23 00:55:00) [1]

Ух ты, работает, я и не подумал в лоб читать из памяти!
Спасибо!...

var i:byte;
   d:double;
   b:array [0..7] of byte;
   pb:pbyte;
begin
  d:=3454.34;
  pb:=Pointer(@d);
  for i:=0 to 7 do
  b[i]:=pbyte(Pointer(LongWord(pb)+i))^;
  d:=0;
  for i:=0 to 7 do
  pbyte(Pointer(LongWord(pb)+i))^:=b[i];
  ShowMessage(floattostr(d));
end;


Leonid Troyanovsky   (2006-04-23 00:22:00) [2]


> maker ©   (23.04.06 00:09)  

> Именно те где хранятся знак чила, занк порядка порядок, мантисса и тд.


RTFM: Delphi help: The Double type & etc.

--
Regards, LVT.


Наверх

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