On vrijdag, jul 25, 2003, at 16:32 Europe/Brussels, James Mills wrote:


In Pascal, all calculations are performed using the base type (which is
longint in FPC), so if w > 255, then w shl 8 > high(word) and will
result in a range check error when assigning to swapWord. Even if we
calculated everything using words, you'd still get an overflow error,
this time when doing the shl.

How can I correct this ?

Use a typecast:


function swapWord(w: Word): Word;
begin
        swapWord := Word((w SHL 8) OR (w SHR 8));
end;


Jonas



_______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to