gxINT64 Integer Type


Conditional Directives
Type Definitions


The gxINT64 class is used to represent 64 bit-signed integers independently of the operating system or hardware platform used. gxINT64 types are implemented to overcome the big and little endian byte ordering problems encountered when writing integer values to a common database file or device accessed by several different types of machines. It works by separating a 64-bit value into eight separate byte values and reordering the bytes lowest-order to highest-order. A gxINT64 type has a base 10 positive limit of 9,223,372,036,854,775,807 and a negative limit of 9,223,372,036,854,775,808

Conditional Directives

__WIN32__ - Conditional directive required by all WIN32 platforms and compilers.

__MSVC__ - Conditional directive required for MSVC version 4.2 and higher.

__BCC32__ - Conditional directive required for BCC version 5.5 and higher.

__UNIX__ - Conditional directive required for all UNIX variants.

__USE_NATIVE_INT_TYPES__ - This conditional directive allows the use of native integer types in place of platform interoperable integer types for debugging purposes only.

Type Definitions

Type definitions used to maintain compatibility between the built-in 64-bit data type sizes on various compilers.

__LLWORD__ - Type definition for native signed 64-bit integer types.

__ULLWORD__ - Type definition for native unsigned 64-bit integer types.


The gxINT64 class is designed to function in the same manner as built-in integer types and includes a full complement of arithmetic and comparison operator overloads. Each operator is overloaded for the following data types: gxINT64, __LLWORD__, __ULLWORD__, __LWORD__, __ULWORD__, __WORD__, __SWORD__, __ULWORD__, __USWORD__, __SBYTE__, and __UBYTE__.

End Of Document