![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как преобразовать array[1..8] of byte в double
Ji © (2005-02-18 01:09:00)тогда у меня к вам вопрос такой:
как преобразовать array[1..8] of byte в double?
Ji (2005-02-18 12:05:00) [21]> ASMiD (18.02.05 11:58) [9]
Это из серии d := double(a) ?
:)
Digitman (2005-02-18 12:05:00) [22]
> ASMiD (18.02.05 11:58) [9]
> Эх пятница что-ли?
угу .. она самая .. уж такую хрень несешь, что и за пятницу стыдно) ... ты хоть бы вник в суть вопроса что ли ..
ASMiD (2005-02-18 11:58:00) [23]Эх пятница что-ли?
var
ab:array[1..8] of byte;
ad:array[1..8] of double;
k1:integer;
begin
for k1:=1 to 8 do ad[k1]:=ab[k1];
end;
Ji (2005-02-18 10:48:00) [24]> begin...end ©
А какая разница? Если что, то у меня это может выглядеть и как array[0..100] of byte. из которого [50..58] нужно преобразовать в double.
Я думаю в случае чего можно создать еще один массив [0..7] , передать в него нужные байты и с ним уже работать. Так что все ответы в кассу.
Digitman (2005-02-18 08:57:00) [25]
> Ji © (18.02.05 01:09)
преобразоватьили привести к типу? разные же разности .. в первом случае операция копирования требуется , во втором - нет
Kerk (2005-02-18 08:06:00) [26]begin...end © (18.02.05 8:00) [5]
блин, точно.. ну тогда совсем по-другому надо.. сейчас подумаю..
begin...end (2005-02-18 08:00:00) [27]> Просто Джо © (18.02.05 1:59) [1]
> Kerk © (18.02.05 7:21) [4]
Нифига. Автор просил преобразовать массив array[1..8] of byte, а вы что подсовываете? Какой-то array [0..7] of byte.
:-)
Kerk (2005-02-18 07:21:00) [28]еще вариант :)
var
Arr: array [0..7] of byte;
D: Double;
begin
D := PDouble(@Arr[0])^;
end;
Просто Джо (2005-02-18 02:09:00) [29]
> [2] XProger © (18.02.05 02:04)
Эх, взял и испортил такую тему...
;)
XProger (2005-02-18 02:04:00) [30]d := double(a);
Просто Джо (2005-02-18 01:59:00) [31]Способ №1
type
TArr8 = array [0..7] of byte;
var
Arr: TArr8;
D: Double;
begin
Move (Arr,D,SizeOf(Double));
end;
------------------------------------
------------------------------------
Способ №2
type
TArr8 = array [0..7] of byte;
var
Arr: TArr8;
D: Double absolute Arr;
------------------------------------
------------------------------------
Способ №3
type
TTwins = record
case Byte of
0: (ArrayValue: array [0..7] of byte);
1: (DoubleValue: Double)
end;
var
Twins: TTwins;
------------------------------------
Лично я предпочитаю №1 и №3. Но это дело вкуса.