Краткият отговор
Шестнадесетичен (база 16) използва цифри 0-9 и букви A-F, където всяка позиция представлява степен 16. FF в шестнадесетичен е равен на 15×16 + 15 = 255 в десетичен — най-голямата стойност, която може да побере един байт. Програмистите използват шестнадесетичен, защото той преобразува чисто в двоичен код: една шестнадесетична цифра винаги се равнява точно на 4 бита, така че две шестнадесетични цифри представляват пълен байт.
Key takeaways
- Две шестнадесетични цифри се равняват на един байт (8 бита) — стойност от 00 до FF (0 до 255) — поради което адресите на паметта, стойностите на байтовете и цветните кодове почти винаги се показват в шестнадесетичен формат.
- Преобразуването на шестнадесетични в двоични е механично: заменете всяка шестнадесетична цифра с нейния 4-битов двоичен еквивалент и ги свържете заедно.
- Шестнадесетичната аритметика следва същата логика на пренасяне и заемане като десетичната аритметика, само с основа 16 вместо 10.
- Уеб цветовете (#RRGGBB) пакетират три байтови стойности — червено, зелено, синьо — в шест шестнадесетични цифри, по две на цветен канал.
Стойности на шестнадесетични цифри (0-F)
| шестнадесетичен | десетична | шестнадесетичен | десетична |
|---|---|---|---|
| A | 10 | D | 13 |
| B | 11 | E | 14 |
| C | 12 | F | 15 |
Преобразуване на десетична в шестнадесетична
202 ÷ 16 = 12 остатък 10 → A
12 ÷ 16 = 0 остатък 12 → C
Прочетете остатъците отдолу нагоре: CA
Така че десетично 202 е равно на шестнадесетичен CA. Проверка в обратен ред: C×16 + A = 12×16 + 10 = 192 + 10 = 202 — потвърждаване на преобразуването.
Работен пример: шестнадесетично събиране
3A+1F
A (10) + F (15) = 25 = 1×16 + 9 → напишете 9, пренесете 1
3 + 1 + пренасяне 1 = 5
Резултат: 59
Проверка в десетична система: 3A = 58, 1F = 31 и 58 + 31 = 89, което е 5×16 + 9 = 0x59 — съвпада точно с шестнадесетичната аритметика. Единствената истинска разлика от десетично събиране е, че пренасянето се случва, когато колона достигне 16, а не 10.
Често срещани грешки, които трябва да избягвате
- Пренасяне на 10 по навик вместо на 16 — шестнадесетична колона се пренася, след като стойността й достигне 16, а не 10 като десетичната.
- Ако приемем, че една шестнадесетична цифра е един бит — тя винаги представлява 4 бита, тъй като 16 = 2⁴.
- Премахване на водеща нула в байт или цветен канал с фиксирана ширина — 0x0A и 0xA са една и съща стойност, но двуцифрен байтов дисплей очаква 0A, а не A.
- Непоследователно смесване на главни и малки букви — шестнадесетичният е нечувствителен към главни и малки букви (a = A = 10), но придържането към един регистър избягва визуално объркване при по-дълги стойности.
Свързани калкулатори
- Двоичен калкулатор — работят директно в основа-2 заедно с шестнадесетични преобразувания.
- Калкулатор с големи числа — обработват стойности, които надхвърлят стандартните шестнадесетични аритметични диапазони.
- Експонентен калкулатор — проверете степените на 16 зад стойността на мястото на всяка шестнадесетична цифра.
- Основен калкулатор — обработва ежедневна десетична аритметика извън конкретна база.