[fpc-devel] 64 bit integer result in Win32 problem
Jonas Maebe
jonas.maebe at elis.ugent.be
Mon Aug 20 10:20:04 CEST 2012
ABorka wrote on Mon, 20 Aug 2012:
> Win32 .exe compiled on Win64 computer, latest SVN build.
>
> I am trying to multiply 2 Integers (Declared as LongInt but
> sometimes need to use it as LongWord) and put the result into a
> QWord (64bit unsigned) result variable on Win32.
> However, it seems that the result is always cut to 32bit.
In Pascal, the type of the result of an expression only depends on its
arguments, never on what you do with it afterwards. Additionally,
integer expressions are evaluated using the "native bit width" if all
factors are <= 32 bit, which is 32 bit on 32 bit systems (exception:
operations involving both longint and cardinal).
If you want a 64 bit result, typecast one of the factors of the
expressions to 64 bit.
Jonas
More information about the fpc-devel
mailing list