Магія степенів двійки: Чому маркетологи та програмісти рахують по-різному
Кожен користувач хоча б раз дивувався, чому після покупки жорсткого диска на 500 ГБ комп'ютер показує лише близько 465 ГБ. Це не помилка і не обман у чистому вигляді, а фундаментальна різниця між десятковою та двійковою системами числення.У фізичному світі ми використовуємо префікси СІ: «кіло» означає $10^3 = 1000$. Проте архітектура комп’ютера базується на двійковій логіці адресних шин. Якщо у процесора є 10 ліній адресації, він може звернутися до $2^{10}$ комірок пам’яті. $2^{10} = 1024$. Це число було настільки близьким до 1000, що інженери вирішили називати його «кілобайтом».
Конфлікт стандартів:
Програмісти використовують двійкові одиниці (кібібайти, мібібайти), де $1 \text{ KiB} = 1024$ байти.
Виробники дисків рахують у десяткових одиницях, де $1 \text{ KB} = 1000$ байтів.
Чим більший об’єм пам’яті, тим більша ця розбіжність. У масштабах терабайта «втрата» через різницю систем числення сягає майже 10%. Для розробника це критично: неправильний розрахунок буфера пам’яті на 24 байти може призвести до переповнення стека та критичного збою системи.

Немає коментарів:
Дописати коментар