/ˌaɪˌɛnˈtiːˈsɪksˈtɪi/

noun … “Signed 64-bit integer.”

INT64 is a fixed-size integer data type that represents whole numbers in the range from -9,223,372,036,854,775,808 (-263) to 9,223,372,036,854,775,807 (2631). Unlike its unsigned counterpart UINT64, INT64 supports negative values and is commonly used in systems programming, arithmetic computations, and data structures where large signed integers are required. Typically, it occupies 8 bytes in memory and adheres to the platform’s endian format.

Key characteristics of INT64 include:

  • Fixed-width: always 8 bytes, ensuring consistent storage across platforms.
  • Signed: represents both negative and positive integers.
  • Two’s complement representation: most systems implement INT64 using two’s complement encoding to simplify arithmetic and comparison operations.
  • Overflow behavior: exceeding the range wraps around according to two’s complement rules, which must be handled carefully in critical computations.
  • Interoperability: used in CPU registers, memory addressing, and APIs requiring large signed integers.

Workflow example: In C++:

#include <iostream>
#include <cstdint>

int main() {
    std::int64_t value = -9223372036854775808LL
    std::cout << "INT64 value: " << value << std::endl
    return 0
}

This example declares an INT64 variable using std::int64_t, assigns the minimum possible value, and prints it. Arithmetic operations must account for potential overflow beyond the signed 64-bit range.

Conceptually, INT64 is like a long number line with 264 positions, half representing negative values and half positive, allowing precise representation of very large numbers in both directions.

See UINT64, INT32, UINT32, CPU, Memory.