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
| Width | Largest unsigned number | Addressable RAM (theoretical) | Era / examples |
|---|---|---|---|
| 16 bit | 65,535 | 64 KiB (with tricks 1 MiB) | Intel 8086, MS-DOS, Windows 3.x |
| 32 bit | 4,294,967,295 | 4 GiB | Pentium, 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 Filesfor 64-bit,C:\Program Files (x86)for 32-bit programs. Windows 11 exists only in 64 bit. - Data types: In C,
intusually means 32 bit,long long64 bit.size_tdepends 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