Skip navigation.
 
mlRe: SInt64 and UInt64 problems with large values
FROM : Ondra Cada
DATE : Sat Apr 02 11:42:26 2005

Ken,

On 2.4.2005, at 11:00, Ken Tozier wrote:

> In lieu of using "long long" and "unsigned long long" in my code, I'm
> trying to use the more compact "SInt64" and "UInt64" both of which the
> compiler seems to be aware of , but when I try to give UInt64 a large
> constant hex value such as 0xFFFFFFFFFFFFFFFF, the complier complains
> that "integer constant is too large for "long" type." I searched for
> the definition of UInt64 and found it in MacTypes.h where it is
> defined as "typedef unsigned long long UInt64" so why does the
> compiler not allow the maximum hex value? Is there some undocumented
> upper limit to long long values?


Check the compiler support for big constants. By default, these
constants are integers (the compiler, at the time the constant is
interepreted, does not and cannot know you will store it into a long or
even long long), and thus self-evidently too big.

You'll have to use some suffix, like 0xFF...FFull (or something), to
let the compiler know the constant is long long AND unsigned, too. At
the moment, I don't recall the proper suffix though, sorry.
---
Ondra Čada
OCSoftware:    <email_removed>              http://www.ocs.cz
private        <email_removed>            http://www.ocs.cz/oc

Related mailsAuthorDate
mlSInt64 and UInt64 problems with large values Ken Tozier Apr 2, 11:00
mlRe: SInt64 and UInt64 problems with large values Dave Rehring Apr 2, 11:40
mlRe: SInt64 and UInt64 problems with large values Ondra Cada Apr 2, 11:42
mlRe: SInt64 and UInt64 problems with large values Ken Tozier Apr 2, 17:20
mlRe: SInt64 and UInt64 problems with large values Scott Ribe Apr 3, 08:18
mlRe: SInt64 and UInt64 problems with large values Segher Boessenkool Apr 4, 10:45