EMZETT.
Войти

16, 32 и 64 бита

Коротко: Разрядность (16, 32, 64) указывает, с какой шириной процессор, операционная система или программа обрабатывают данные и адреса памяти. Больше бит — больше числа и больше адресуемой памяти.

Подробнее: Бит — это один разряд двоичной системы (0 или 1). 64-битный процессор может за один шаг обрабатывать 64-разрядные числа и использовать 64-битные адреса памяти.

Подробности

РазрядностьНаибольшее беззнаковое числоАдресуемая RAM (теоретически)Эпоха / примеры
16 бит65 53564 КиБ (с хитростями 1 МиБ)Intel 8086, MS-DOS, Windows 3.x
32 бита4 294 967 2954 ГиБ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, Биты, Байт