EMZETT.
Login

16, 32 and 64 bit

In short: The bit figure (16, 32, 64) states the width with which a processor, an operating system or a program handles data and memory addresses. More bits mean larger numbers and more addressable memory.

In more detail: A bit is one position in the binary system (0 or 1). A 64-bit processor can process 64-digit numbers in one step and use memory addresses of 64 bits.

In Depth

WidthLargest unsigned numberAddressable RAM (theoretical)Era / examples
16 bit65,53564 KiB (with tricks 1 MiB)Intel 8086, MS-DOS, Windows 3.x
32 bit4,294,967,2954 GiBPentium, Windows 95 to 10 (32-bit), old Raspberry Pi systems
64 bit~1.8 × 10¹⁹16 exbibytes (in practice 256 TiB to 4 PiB)All modern PCs and smartphones
  • Why 4 GiB with 32 bit? 2³² different addresses × 1 byte = 4 GiB. A 32-bit operating system cannot address more RAM (Windows 32-bit uses ~3.5 GB). Hence the switch to 64 bit was necessary once computers got more memory.
  • Processor, operating system, program: All three have a bit width. A 64-bit processor can run 32-bit operating systems and programs (backward compatibility), but a 32-bit processor cannot run a 64-bit system.
  • Advantages of 64 bit: More RAM, more registers (x86-64: 16 instead of 8), large numbers faster, better security (ASLR, NX).
  • Disadvantages: Pointers are twice as large, programs need somewhat more memory.
  • Windows: C:\Program Files for 64-bit, C:\Program Files (x86) for 32-bit programs. Windows 11 exists only in 64 bit.
  • Data types: In C, int usually means 32 bit, long long 64 bit. size_t depends on the platform.
  • Graphics/color depth: There “32 bit” means something different (4 channels of 8 bits).
  • One byte = 8 bits, so 64 bits = 8 bytes.

See also: x86-64 and ARM64, Bits, Byte