64 bits

En 2003 empezaron a ser introducidos masivamente en las computadoras personales (previamente de 32 bits) con las arquitecturas x86-64 y los procesadores PowerPC G5.

Los registros en un procesador se dividen generalmente en tres grupos: enteros, coma flotantes ( números decimales ) y otros.

Los registros que no son de enteros no se pueden utilizar para almacenar punteros para leer o escribir memoria y por tanto no se pueden utilizar para evitar cualesquiera restricciones impuestas por el tamaño de los registros enteros.

Los clusters de 64 bits han sido ampliamente usados en grandes organizaciones como IBM, Vodafone, HP y Microsoft, por esta razón.

En el momento en que estas arquitecturas fueron concebidas, 4 gigabytes de memoria estaban muy lejos de las cantidades disponibles en instalaciones que se consideraban suficiente "espacio" para direccionamiento.

Las computadoras de 64 bits se han ido moviendo hacia la computadora personal, comenzando en 2003 con la innovadora tecnología AMD64 (denominada genéricamente x86-64 por su completa compatibilidad inversa con los sistemas x86), los AMD's K8 (Athlon 64) y la arquitectura PowerPC de Macintosh de Apple Computer con los procesadores PowerPC 970 G5 Antares, y a procesadores EM64T en 2006, basadas también en tecnología x86-64, llegando a ser comunes en PC de gama alta.

Muchos PC de 64 bits del mercado tienen actualmente un límite artificial en la cantidad de memoria que pueden reconocer, pues las limitaciones físicas hacen muy poco probable que se vaya a necesitar soporte para los 16 exabytes de capacidad total.

Un núcleo linux reciente (versión 2.6.16) puede ser compilado con soporte para hasta 64 gigabytes de memoria.

[2]​ En Windows, la más importante diferencia entre las versiones 32 y 64 bits es que el primero admite hasta 4 GB de RAM, de los cuales aprovechará tan solo 3.25 GB.

El "Efecto 2038", es un bug producido en programas que usen la representación del tiempo basada en el sistema POSIX, y que afecta a sistemas Unix y basados en Unix.

Los problemas más graves son debidos a controladores de dispositivo incompatibles.

la Tecnología Microsoft WoW64), normalmente es imposible ejecutar un controlador de dispositivo o un programa similar, en ese modo ya que habitualmente se ejecuta entre el SO y el hardware, donde no se puede usar la emulación directa.

Esos programadores asumen que pueden transferir cantidades entre estos tipos de datos sin perder información.

Para evitar este error en C y C++, se puede utilizar el operador sizeof para determinar el tamaño de estos tipos primitivos si se necesitan tomar decisiones basadas en el tamaño en tiempo de ejecución.

Se necesita ser cuidadoso para usar el tipo ptrdiff_t (en la cabecera estándar ) para el resultado de restar dos punteros, demasiado código incorrecto utiliza "int" o "long" en su lugar.

Para representar un puntero (más que un puntero diferencia) como un entero, se usa uintptr_t cuando está disponible (solo está definida en C99, pero algunos compiladores anteriores al estándar lo cumplen ofreciéndolo como una extensión).

No obstante, en muchos casos las modificaciones necesarias son relativamente menores y sencillas, y muchos programas bien escritos pueden ser simplemente recompilados para el nuevo entorno sin cambios.

"LL" hace referencia al tipo "long long", que tiene al menos 64 bits en todas las plataformas, entornos de 32 bits incluidos.

El compilador VC++ de Microsoft usa el modelo LLP64 que es más compatible retroactivamente.

Advierta que la elección de un modelo de programación se hace al compilar, y varios modelos pueden coexistir en el mismo SO.

Microprocesador UltraSPARC-II 64-bit RISC.