![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите записать DWORD ПЕРЕМЕНУЮ! [D6]
NikNet © (2005-08-20 16:30:00)Помогите записать DWORD ПЕРЕМЕНУЮ!
в общем надо сделать так
есть DWORD и есть также ещё три перемнных
в таком порядке:
BYTE
WORD
BYTE
вот DWORD надо записать в них с помощью SHL/SHR/AND/...
Defunct (2005-08-20 21:17:00) [1]KilkennyCat © (20.08.05 19:42) [8]
> По условию используются shl shr and
A := D and $ff;
B := D shl 8 shr 16;
C := D shr 24;
begin...end (2005-08-20 19:49:00) [2]> KilkennyCat © (20.08.05 19:42) [8]
Правильный ответ уже есть. См. условие в [2]. Именно на этот пост я и отвечал, предположив, что под функциями имелись в виду операторы.
KilkennyCat (2005-08-20 19:42:00) [3]правильного ответа еще нет. По условию используются shl shr and
Alexander Panov (2005-08-20 19:33:00) [4]Действительно.
begin...end (2005-08-20 19:19:00) [5]> Alexander Panov © (20.08.05 19:09) [4]
> Alexander Panov © (20.08.05 19:11) [5]
Правильный ответ уже был дан в [3].
Alexander Panov (2005-08-20 19:11:00) [6]Еще неправильно.
Вот так правильно:
var
A: Byte;
B: Word;
C: Byte;
D: DWORD;
begin
A := D;
B := (D shl 8) shr 16;
C := D shr 24
end.
Alexander Panov (2005-08-20 19:09:00) [7]var
A: Byte;
B: Word;
C: Byte;
D: DWORD;
begin
A := D;
B := (D shl 8) shr 8;
C := D shr 24
end.
begin...end (2005-08-20 18:12:00) [8]> 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.
NikNet (2005-08-20 17:56:00) [9]Нееее мне надо с помощью логических ф-ций :(
alpet (2005-08-20 17:21:00) [10]
{$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;