![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хранение в памяти типа 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.