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