З повної частини статті зі Стіва Йегге,
Кандидати повинні знати, що таке біти та байти. Вони повинні вміти рахувати у двійкових; наприклад, вони повинні бути в змозі сказати вам, що означає 2 ^ 5 або 2 ^ 10 у десятковій частині. Вони не повинні тупо дивитись на вас, коли ви запитуєте з 2 ^ 16 є. Це спеціальне число. Вони повинні це знати.
Мене відкинули від шматочка, який ви цитували у запитанні; це звучало так, що кандидат повинен бути в змозі описати його значимість, але в контексті він говорить, що кандидати повинні знати вгорі голови, що таке десяткове перетворення 2 16 .
Важливість цього полягає в тому, що оскільки ми, як і раніше, використовуємо десятки для підрахунку, особливо в головах (у більшості випадків), нам потрібно знати грубі потужності загальних байтових блоків, які ми використовуємо для зберігання, пам'яті або навіть кодування символів. Оскільки байт становить 8 біт, найбільш поширеними є 8, 16, 24, 32 та 64.
В даний час я б сказав, що 2 32 є найпоширенішим потенціалом, з яким розробник має справу. Я підозріло ставляться до розробників, які не знають, що 2 32 - це приблизно 4 мільярди (максимум значення - 2 мільярди, якщо вони підписані), оскільки це означає, що вони ніколи не намагалися дізнатися, скільки записів може зберігатися в їх базах даних, які використовувати 32-розрядні int
s для первинних ключів, або коли старий код, що використовує 32-бітний int
s для ідентифікаторів, дат тощо, потрібно буде відновити до 64-бітного. 1
2 16 - загальна ємність Java short
. (Загальна кількість від -2 15 до 2 15 -1)
Розробник повинен напам'ять знати, що таке 8-бітний. Серед багатьох поширених звичаїв - кодування символів ASCII.
Я б не очікував, що програміст взагалі знає 2 14 або 2 18 , але я, мабуть, сподіваюся, що вони знають 2 16, оскільки це дуже часто зустрічається число і досить коротке число (65536), щоб легко запам'ятати повне число.
1: Якщо ви переглядаєте таблицю лідерів Call of Duty: MW2 або iPhone ігрового центру iPhone, ви часто побачите шахраїв у верхній частині із високими показниками 2,147,483,647, що становить 2 31 -1, максимальне значення підписаного 2 32 цілого числа.