Вниз
Скачать: CL | DM;

Помогите записать DWORD ПЕРЕМЕНУЮ!   Найти похожие ветки 

← →
NikNet ©   (2005-08-20 16:30) [0]

Помогите записать DWORD ПЕРЕМЕНУЮ!

в общем надо сделать так
есть DWORD и есть также ещё три перемнных
в таком порядке:
BYTE
WORD
BYTE

вот DWORD надо записать в них с помощью SHL/SHR/AND/...


← →
alpet ©   (2005-08-20 17:21) [1]


{$APPTYPE CONSOLE}
uses Windows, SysUtils;
var
  r: packed record
   case byte of
   0:(
     a: byte;
     b: word;
     c: byte);
   1:(dw: dword);
  end;

begin
r.dw := $11222233;
with r do Writeln (Format ("%x, %x, %x", [a, b, c]));
end;


← →
NikNet ©   (2005-08-20 17:56) [2]

Нееее мне надо с помощью логических ф-ций :(


← →
begin...end ©   (2005-08-20 18:12) [3]

> NikNet ©   (20.08.05 17:56) [2]

var
 A: Byte;
 B: Word;
 C: Byte;
 D: DWORD;
begin
 A := D;
 B := D shr 8;
 C := D shr 24
end.


← →
Alexander Panov ©   (2005-08-20 19:09) [4]

var
 A: Byte;
 B: Word;
 C: Byte;
 D: DWORD;
begin
 A := D;
 B := (D shl 8) shr 8;
 C := D shr 24
end.


← →
Alexander Panov ©   (2005-08-20 19:11) [5]

Еще неправильно.
Вот так правильно:

var
A: Byte;
B: Word;
C: Byte;
D: DWORD;
begin
A := D;
B := (D shl 8) shr 16;
C := D shr 24
end.


← →
begin...end ©   (2005-08-20 19:19) [6]

> Alexander Panov ©   (20.08.05 19:09) [4]
> Alexander Panov ©   (20.08.05 19:11) [5]

Правильный ответ уже был дан в [3].


← →
Alexander Panov ©   (2005-08-20 19:33) [7]

Действительно.


← →
KilkennyCat ©   (2005-08-20 19:42) [8]

правильного ответа еще нет. По условию используются shl shr and


← →
begin...end ©   (2005-08-20 19:49) [9]

> KilkennyCat ©   (20.08.05 19:42) [8]

Правильный ответ уже есть. См. условие в [2]. Именно на этот пост я и отвечал, предположив, что под функциями имелись в виду операторы.


← →
Defunct ©   (2005-08-20 21:17) [10]

KilkennyCat ©   (20.08.05 19:42) [8]
> По условию используются shl shr and

A := D and $ff;
B := D shl 8 shr 16;
C := D shr 24;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.031 c
3-1124268309
PP
2005-08-17 12:45
2005.10.02
Групировка в dxDBGrid1


4-1123501904
Valentin
2005-08-08 15:51
2005.10.02
Как закрыть Dll ку по завершении?


6-1117736528
Новичек
2005-06-02 22:22
2005.10.02
FD_READ, FD_WRITE и другие...


3-1124384858
redlord
2005-08-18 21:07
2005.10.02
как увеличить скорость удаления записей


4-1123070759
Jet
2005-08-03 16:05
2005.10.02
Как отловить момент закрытия консольного приложения?




   Наверх