Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > как преобразовать Int64 в Double?


Автор: andrewby 3.9.2011, 11:36
кто подскажет .. есть два числа

4629981891913580544 (целое 8 бит)  и 34.00   (с плавающей точкой 8 бит )

как преобразовать из целого в  плавающий формат???


полагаю что нужна ф-ция DoubleToInt64 .. но  в Дельфи такой нет)

может есть какой нить метод преобразования ?? 

Автор: superVad 3.9.2011, 12:25
Double(4629981891913580544)
Может так?

Автор: andrewby 3.9.2011, 14:05
Цитата(superVad @ 3.9.2011,  12:25)
Double(4629981891913580544)
Может так?


эээ ... что то  не вижу смысла в ответе..

Автор: CodeMonkey 3.9.2011, 19:16
Код
var
  I: Int65;
  D: Double;
begin
  D := I;
end;


Ну вы даёте...

Автор: andrewby 3.9.2011, 20:09
наверно не правильно выразился.... есть функция ReadProcessMemory ... которая получает данные из адресного пространства некой программы ... так вот если я указываю размер 8бит .. то я получаю в ответ 4629981891913580544  .но точно знаю .. что есть программы к примеру ArtMoney  в которой есть возможность указать тип данных как  Плавающее 8 бит с точкой... и тогда вывод будет 34.00   ..

хотя в самой функции ReadProcessMemory  ..нет возможности указать тип получаемых данных.. 

вот и ищу ответ как преобразовать 4629981891913580544   в 34.00  

    
Код


    
var
  I: Int64;
  D: Double;
begin
  D := I;
end;


это не прокатывает

Автор: northener 3.9.2011, 23:52
Цитата(andrewby @  3.9.2011,  20:09 Найти цитируемый пост)
наверно не правильно выразился.... есть функция ReadProcessMemory ... которая получает данные из адресного пространства некой программы ... так вот если я указываю размер 8бит

А где и как вы "указываете "размер 8бит""?
В функции ReadProcessMemory нигде нет никаких "бит", только байты.

http://www.gunsmoker.ru/2008/10/x-y-z.html

Автор: CodeMonkey 4.9.2011, 00:35
Цитата
хотя в самой функции ReadProcessMemory  ..нет возможности указать тип получаемых данных.. 


Что за бред. Какой ещё тип данных, если это функция байтового чтения?

Код
var
  D: Double;
begin
  ReadProcessMemory(Process, Address, @D, SizeOf(D), nil);

Автор: bems 4.9.2011, 03:13
Тебе нужно простое тупое приведение, а не преобразование. Это как раз тот ответ, в котором ты не увидел смысла

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)