Hi Charles,
by chance, I came across this strange behavior. I tried to print the quad numbers 1e16,1e17,1e18.
$ filename "quads.exe"
'use rtl32
'use rtl64
uses console
quad i=1e16
printl "1e16 = " i
i=10000000000000000
printl "as number = " i
i=pow(10,16)
printl "pow(10,16) = " i
printl
i=1e17
printl "le17 = " i
i=100000000000000000
printl "as number = " i
i=pow(10,17)
printl "pow(10,17) = " i
printl
i=1e18
printl "1e18 = " i
i=1000000000000000000
printl "as number = " i
i=pow(10,18)
printl "pow(10,18) = " i
printl
printl "Enter ... " : waitkey
the output in 32-bit is (1e17 is strange):
1e16 = 10000000000000000
as number = 10000000000000000
pow(10,16) = 10000000000000000
le17 = 1
as number = 1
pow(10,17) = 1
1e18 = 1E+18
as number = 1E+18
pow(10,18) = 1E+18
the output in 64-bit is (only pow(10,16) and pow(10,18) are correct):
1e16 = 1874919424
as number = 1874919424
pow(10,16) = 10000000000000000
le17 = 1569325056
as number = 1569325056
pow(10,17) = 1
1e18 = -1486618624
as number = -1486618624
pow(10,18) = 1E+18
Is this a problem with my 64-bit machine or do I need some casting?
Roland