16, 32 и 64 бита
Коротко: Разрядность (16, 32, 64) указывает, с какой шириной процессор, операционная система или программа обрабатывают данные и адреса памяти. Больше бит — больше числа и больше адресуемой памяти.
Подробнее: Бит — это один разряд двоичной системы (0 или 1). 64-битный процессор может за один шаг обрабатывать 64-разрядные числа и использовать 64-битные адреса памяти.
Подробности
| Разрядность | Наибольшее беззнаковое число | Адресуемая RAM (теоретически) | Эпоха / примеры |
|---|---|---|---|
| 16 бит | 65 535 | 64 КиБ (с хитростями 1 МиБ) | Intel 8086, MS-DOS, Windows 3.x |
| 32 бита | 4 294 967 295 | 4 ГиБ | Pentium, Windows 95–10 (32 бита), старые системы Raspberry Pi |
| 64 бита | ~1,8 × 10¹⁹ | 16 эксбибайт (на практике от 256 ТиБ до 4 ПиБ) | Все современные ПК и смартфоны |
- Почему 4 ГиБ при 32 битах? 2³² различных адресов × 1 байт = 4 ГиБ. 32-битная операционная система не может адресовать больше RAM (Windows 32 бита использует ~3,5 ГБ). Поэтому с ростом памяти в компьютерах переход на 64 бита стал необходим.
- Процессор, операционная система, программа: у всех трёх есть разрядность. 64-битный процессор может запускать 32-битные операционные системы и программы (обратная совместимость), но 32-битный процессор не может запускать 64-битную систему.
- Преимущества 64 бит: больше RAM, больше регистров (x86-64: 16 вместо 8), быстрее работа с большими числами, лучшая безопасность (ASLR, NX).
- Недостатки: указатели вдвое больше, программам нужно чуть больше памяти.
- Windows:
C:\Program Filesдля 64-битных,C:\Program Files (x86)для 32-битных программ. Windows 11 существует только в 64-битном варианте. - Типы данных: в C
intобычно означает 32 бита,long long— 64 бита.size_tзависит от платформы. - Графика/глубина цвета: там «32 бита» означают другое (4 канала по 8 бит).
- Один байт = 8 бит, значит, 64 бита = 8 байт.
См. также: x86-64 и ARM64, Биты, Байт