Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Получить слова с Longint

Автор: Bokul 8.01.2007 5:37

Как получить старшее и младшее слово с longint?

Автор: volvo 8.01.2007 5:47

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 8.01.2007 5:50

Спасибо, а на Fpc есть специальная функция?

Автор: volvo 8.01.2007 5:57

LoWord/HiWord из модуля Windows

Автор: Bokul 8.01.2007 5:58

good.gif
Думаю твой пример надо запостить в Faq. yes2.gif

Автор: Malice 8.01.2007 14:37

Еще варианты:

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 переменной.