[fpc-devel] Do bitwise operation (1 or 2) acre about the sign ? (Giving sign related hints on compilation)

Martin lazarus at mfriebe.de
Mon Jan 14 14:11:55 CET 2013


Having recently asked about and learned that it is mainly a hint about 
performance. I have now another question about this hint:
   project1.lpr(6,9) Hint: Mixing signed expressions and longwords gives 
a 64bit result

Actually not so much about the hint, as about the fact that in the below 
example fpc extends the operands to 64 bits.

program Project1;
var
   x: cardinal;
   i, j: integer;
begin
   i:= x or j
end.

I understand the need for a 64 bit operation for +/-/</>/*/...

But the "or" operator works bitwise, it does not treat the operands as 
numbers which could either be signed or unsigned? Or does it? If it does 
not, why does it need to use 64 bit?



More information about the fpc-devel mailing list