Как получить старшее и младшее слово с longint?
TP? Вот так:
type
T = (_low, _high);
arrType = array[T] of word;
var
arr: arrType;
L: longint absolute arr;
begin
L := $12345678;
writeln(arr[_high], ' <-> ', arr[_low]);
end.
Спасибо, а на Fpc есть специальная функция?
LoWord/HiWord из модуля Windows
Думаю твой пример надо запостить в Faq.
Еще варианты:
1:
type tp= record case byte of
0: (l:longint);
1: (lo,hi:word);
end;
var x:tp;
begin
x.l:=70000;
writeln (x.lo,' ',x.hi);
end.
function loWord (x:longint):longint;
begin
loword:=x and $FFFF;
end;
function hiWord (x:longint):longint;
begin
hiword:=x shr 16;
end;