![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
формула разложения 16 битного числа на 2 байта [Win32]
alexal © (2006-07-07 11:41:00)Мастера, есть вопрос подскажите как из 16 битного числа вычислить старший и младший, только без логических команд.
Во времена спектрума вычислял на калькуляторе, но время прошло достаточно забыл, кто помнит подскажите
begin...end (2006-07-10 18:02:00) [1]var
A: array [1..2] of Byte;
W: Word absolute A;
SergP. (2006-07-10 17:20:00) [2]Ну можно еще так поизвращаться:
procedure TForm1.Button2Click(Sender: TObject);
var
rec: packed record
case boolean of
true: (a:word);
false: (b,c:byte);
end;
begin
rec.a:=21211;
label1.Caption:='младший байт'+inttostr(rec.b);
label2.Caption:='старший байт'+inttostr(rec.c);
end;
evvcom (2006-07-10 16:22:00) [3]> Во времена спектрума вычислял на калькуляторе
Если вычислял на калькуляторе, то причем здесь спектрум? А если приплел спектрум, то причем тут калькулятор? Не понятно.
Zilog (2006-07-10 16:12:00) [4]var a : word; b,c : byte;
begin
asm
mov ax,a
mov b,ah
mov c,al
end;
зы. привет спектрумисту ;)
cyborg (2006-07-07 17:37:00) [5]Ещё младший (число mod 256), старший (число div 256)
cyborg (2006-07-07 17:33:00) [6]Lo() Hi()
Shr(8)
Shl(8) Shr(8)