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, Біти, Байт