Віддано перевагу, якщо ви з якоїсь причини перенесли полідактилію і маєте 11 пальців або любите рахувати пальцями ніг, так що вам подобається працювати в базі 20, це чесно залежить від вас. Але розумійте, що на тему універсальності, що більшість із нас, кому доводиться стикатися з бітами та байтами щодня, буде дійсно поставлено галочку, якщо ми отримаємо щось, що робить біт-маніпуляцію в базі 19.
ПРИЧИНИ ДЛЯ БАЗИ x
База 10 - Модель усіх наших речей, тому що у нас є 10 підрахункових цифр (ноги дивні і смердючі, тому ми їх не використовуємо).
База 2 - Комп'ютери використовують це для бітів (увімкнення / вимкнення), це пов'язано з читабельним рівнем напруги, який поширюється воротами / транзисторами / конденсаторами.
База 8 - Старий, коли коли комп’ютери не були надмірно великими (або назад, коли вони були просторовими), це було добре для чогось чи іншого (мені це не подобається один біт)
База 16 - добре підходить для показу верхньої та нижньої частини байтів для маніпулювання бітом. Це дуже корисно у вбудованому / fpga / апаратному світі.
НОРМАЛЬНІ ОСНОВИ В КОМП'ЮТЕРАХ
Щоб перейти з перевагою, я міг би точно сказати вам, як колір "на" знаходиться в шестигранному значенні RGB, яке мені дано, це, отже, може бути представлено в одній точці в апаратному забезпеченні, а потім з деякими зрушеннями можна повернути мені легкий горох, 1 складний колір = 1 точка даних, що приємно для великої обробки зображень з обмеженою пам'яттю. Порівняйте це з базовим представленням 10, ви можете додати їх усіх і зберегти в число, але яке число - це, а може, R - час 10000, G - 100, а B - власний простір, це багато математичних операцій , зазвичай множення коштує більше циклів, ніж зсув, тому наступний фрагмент даних вже стоїть у черзі до того, як буде зроблено ваш останній фрагмент, який обробляється, ну, це вже минуло.
Іноді просто краще працювати в базі 2, 8 або 16. У більшості машин множення на 2 - це лише невеликий зсув, вони дуже швидкі, однакові з поділом на 2.
Щоб ще більше пояснити ідею біт-подвійки. Коли я працюю у вбудованому середовищі, у мене є велика кількість разів, щоб мені отримати доступ до деякого масиву світла, вимикачів або деяких інших елементів, відображених у регістрі.
У цьому випадку присвоєння цілому знаку, байту чи int кожному перемикачу було б неефективним і нерозумним, комутатор або світло має 2 положення - увімкнено і вимкнено - чому я призначу щось, що має до 256 позицій, або 2 ^ 16 позиції тощо. Кожне світло в масиві може містити один біт 8 або 16, 32 або 64 або 128 (ширина вашого типу даних) на одному слові / регістрі. Ефективність простору потрібна і досить вітається.
Використовувати все, що є базовим 2 ^ n в програмуванні для таких речей, як обробка даних RGB, безліч сигнальних даних - GPS, аудіо, ascii тощо, - набагато простіше в шестигранному, бінарному та восьмеричному, оскільки саме так воно представлено в машині і можна легше розпізнати, що представлено, і як ними маніпулювати.
ВИКОРИСТАННЯ СИЛЬНИХ ОСНОВ
Ефективності немає, якщо ви не кодуєте її. Ви хочете базу 11, ви повинні встановити для неї тип даних і перевантажити будь-яких операторів, щоб обробити його представлення користувачеві. Я не бачу причин, чому система, яка містить 5 предметів, і лише коли-небудь тримає кратні 5 елементів, повинна бути перетворена на математику з п'яти предметів. І далі, ви б краще помолилися, щоб хто вирішив написати свій код для бази 271, це добре задокументував, або ви могли б витратити більше часу на його розуміння, ніж варто створити базу 271, оскільки всі елементи кратні 271.