/ˌ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 (263 − 1). 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.