Помощь - Поиск - Пользователи - Календарь
Полная версия: Получить слова с Longint
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Bokul
Как получить старшее и младшее слово с longint?
volvo
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.
Bokul
Спасибо, а на Fpc есть специальная функция?
volvo
LoWord/HiWord из модуля Windows
Bokul
good.gif
Думаю твой пример надо запостить в Faq. yes2.gif
Malice
Еще варианты:

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.


2.
function loWord (x:longint):longint;
begin
loword:=x and $FFFF;
end;
function hiWord (x:longint):longint;
begin
hiword:=x shr 16;
end;


2-ой поправиленее, т.к. не требует смены типа для каждой longint переменной.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.