If you're seeing this message, it means we're having trouble loading external resources on our website.

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Шестнайсетични числа

Двоичните числа са чудесен начин компютрите да представят числа. Обаче не са толкова удобни за хората – толкова са дълги, че отнема известно време, за да се преброят всички 0-и и 1-ци. Когато компютърните инженери боравят с числа, те често използват или десетичната или шестнадесетичната бройна система. Да, още една бройна система!
За щастие, бройните системи имат повече прилики, отколкото разлики и сега, когато знаеш чудесно десетичната и двоичната, надяваме се, че шестнадесетичната ще ти е интуитивна.
В десетичната система всяка цифра представя степен на 10 – единиците, десетиците и т.н. Наричаме 10 основата на десетичната бройна система.
Провери наученото
Коя е основата на двоичната бройна система?
Всяка цифра представя степен на
  • Отговорът ти трябва да бъде
  • цяло число, като 6
  • несъкратима правилна дроб, като 3, slash, 5
  • несъкратима неправилна дроб, като 7, slash, 4
  • смесено число като 1, space, 3, slash, 4
  • точна десетична дроб като 0, point, 75
  • кратно на ПИ като 12, space, start text, p, i, end text или 2, slash, 3, space, start text, p, i, end text

В шестнадесетичната бройна система всяка цифра представя степен на 16.
Ето как се брои до 10 шестнадесетично: 1, 2, 3, 4, 5, 6, 7, 8, 9, start text, A, end text.
Това изглежда доста познато, докато не стигнем последното "число" start text, A, end text. Знаеш ли, в шестнадесетичната система всяка цифра трябва да представя стойностите 0-15, но десетичните числа 10-15 не се побират в една цифра. За да се справи с този проблем, шестнадесетичната система използва буквите start text, A, end text-start text, F, end text, за да представи числата 10-15.
Така, нека броим от 10 до 15: start text, A, end text, start text, B, end text, start text, C, end text, start text, D, end text, start text, E, end text, start text, F, end text. Странно, но вярно!
Всъщност през годините е имало множество различни предложения за това как да се представят стойностите 10-15, но start text, A, end text-start text, F, end text е решението, което е спечелило.
А сега да преброим по-нагоре. Това е десетичното число 24, представено в шестнадесетичен вид 18:
18
161
16, start superscript, 1, end superscript16, start superscript, 0, end superscript
Това число изисква две цифри, като дясната цифра представя единиците (16, start superscript, 0, end superscript), а лявата цифра представя шестнадесетиците (16, start superscript, 1, end superscript). Също както сумирахме десетични и двоични числа, можем да сумираме и left parenthesis, 1, dot, 16, right parenthesis, plus, left parenthesis, 8, dot, 1, right parenthesis и да видим, че 18 е равно на десетичната стойност 24.
Да опитаме число, което съдържа буква. Ето го десетичното число 27, представено в шестнадесетичен вид като 1, start text, B, end text:
1start text, B, end text
161
16, start superscript, 1, end superscript16, start superscript, 0, end superscript
За да разберем този пример, първо трябва да си спомним, че start text, B, end text представя стойността 11. Аз го правя, като броя буквите на пръсти, но ти можеш да го правиш както ти е удобно, стига да запомниш, че трябва да започнеш от start text, A, end text, представящо 10.
След това сумираме както по-рано и виждаме, че left parenthesis, 1, dot, 16, right parenthesis, plus, left parenthesis, 11, dot, 1, right parenthesis е равно на десетичната стойност 27.
Провери наученото
Да проверим дали започваш да добиваш представа. Коя десетична стойност е представена с шестнадесетичното число 1, start text, F, end text?
  • Отговорът ти трябва да бъде
  • цяло число, като 6
  • несъкратима правилна дроб, като 3, slash, 5
  • несъкратима неправилна дроб, като 7, slash, 4
  • смесено число като 1, space, 3, slash, 4
  • точна десетична дроб като 0, point, 75
  • кратно на ПИ като 12, space, start text, p, i, end text или 2, slash, 3, space, start text, p, i, end text

Защо основа 16?

На този етап може би се чудиш какво толкова ѝ харесват на шестнадесетичната система компютърните инженери. Защо да използваме система, в която са ни нужни букви, за да представяме числа? Малко историческо отклонение ще ни покаже защо...
Ранните компютри използвали 4-битови архитектури, което означава, че те винаги са обработвали битовете в групи по 4. Това е причината все още да записваме битовете в групи по 4, както когато пишем 0111, за да представим десетичното 7, въпреки че можем да напишем само 111.
Колко стойности могат да представят 4 бита? Най-малката стойност е 0 (само нули – 0000), а най-голямата стойност е 15 (само единици – 1111), така че 4 бита могат да представят 16 уникални стойности. Аха, ето го числото 16!
Всяка група от 4 бита двоично е една цифра в шестнадесетичната система. Това прави много лесно превръщането на двоични числа в шестнадесетични числа и ги прави естествени за използване и в компютрите.

Превръщане на двоични в шестнадесетични числа

Нека докажем колко добре се разбират двоичните и шестнадесетичните числа, като превръщаме от двоични в шестнадесетични.
Ще започнем с късо двоично число:
0010, start text, end text
То е дълго 4 бита, което означава, че отговаря на една шестнадесетична цифра. Има 0 на всяка позиция, с изключение на позицията на двойките, следователно е равно на десетичното число 2. И десетичната, и шестнадесетичната системи представят числата 0-9 по един и същ начин, така че 0010 е просто 2 в шестнадесетичен запис.
Да опитаме с по-дълго двоично число:
1001101001101100, start text, end text
Един подход би бил да разберем какво десетично число е представено от този дълъг низ от нули и единици и след това да превърнем него в шестнадесетично. Този подход ще свърши работа, но, човече, звучи като много работа за такова число.
По-лесният подход е да превръщаме всяка група от по 4 бита наведнъж.
Започвайки с най-лявата група 1001, която е равна на left parenthesis, 1, dot, 8, right parenthesis, plus, left parenthesis, 1, dot, 1, right parenthesis, десетичното число 9. Това число е по-малко от 10, така че 1001 е просто 9 шестнадесетично.
Следващата група е 1010, или left parenthesis, 1, dot, 8, right parenthesis, plus, left parenthesis, 1, dot, 2, right parenthesis, десетичната стойност 10. Това число изисква буквено представяне в шестнадесетичен вид – start text, A, end text.
Следващата група е 0110, или left parenthesis, 1, dot, 4, right parenthesis, plus, left parenthesis, 1, dot, 2, right parenthesis, десетичната стойност 6. Това число е същото в шестнадесетичен вид – 6.
Последната група е 1100, или left parenthesis, 1, dot, 8, right parenthesis, plus, left parenthesis, 1, dot, 4, right parenthesis, деесетичната стойност 12. Tова число изисква буквено представяне в шестнадесетичен вид – start text, C, end text.
Крайният ни шестнадесетичен резултат е 9, start text, A, end text, 6, start text, C, end text. Направихме това преобразуване без да знаем кое десетично число е представено. Сега ще разкрия и двете 1001101001101100 и 9, start text, A, end text, 6, start text, C, end text са равни на десетичното число 39, space, 532. Това е ужасно голямо число – радвам се, че го превърнахме цифра по цифра.
Провери наученото
Сега опитай ти. На кое шестнадесетично число е равно това двоично число?
1011100100011000, start text, end text
Избери един отговор:

Модели в шестнадесетичните числа

Хайде да придобием малко интуиция за шестнадесетичната бройна система.
Първо: какво е най-голямото число за даден брой цифри? В десетичната система това са само деветки, като 9999. В двоичната система това са само единици, като 1111.
В този случай в шестнадесетичната система всяка цифра е start text, F, end textstart text, F, F, F, F, end text. Когато видим такова число знаем, че то представя най-голямата възможна стойност за този брой цифри. За да представим което и да било по-голямо число, ще ни трябват повече цифри.
Добре, колко представя голямо число като това? Можем да използваме същото правило, както при двоичната система – най-голямото число, което може да се представи с даден брой цифри n, е същото, като 16, start superscript, n, end superscript, minus, 1. Сега, след като работим с основа 16, вместо основа 2, може да ни се наложи да използваме калкулатор, за да се справим.
Тук имаме таблица с първите 4 големи стойности:
ЦифриНай-голямо шестнадесетичноДесетична равностойност
1start text, F, end text15, left parenthesis, 16, start superscript, 1, end superscript, minus, 1, right parenthesis
2start text, F, F, end text255, left parenthesis, 16, squared, minus, 1, right parenthesis
3start text, F, F, F, end text4095, left parenthesis, 16, cubed, minus, 1, right parenthesis
4start text, F, F, F, F, end text65535, left parenthesis, 16, start superscript, 4, end superscript, minus, 1, right parenthesis
Провери наученото
Таблицата показва най-големите стойности за всеки брой цифри. Кой е общият брой уникални стойности, които могат да се представят с 2 цифри?
  • Отговорът ти трябва да бъде
  • цяло число, като 6
  • несъкратима правилна дроб, като 3, slash, 5
  • несъкратима неправилна дроб, като 7, slash, 4
  • смесено число като 1, space, 3, slash, 4
  • точна десетична дроб като 0, point, 75
  • кратно на ПИ като 12, space, start text, p, i, end text или 2, slash, 3, space, start text, p, i, end text

Приложение на шестнадесетичната бройна система

В този раздел за принципите на работа на компютрите ще се занимаваме предимно с двоични числа. Важно е обаче да разбираш и шестнадесетичните, тъй като те ще се появяват в следващите раздели, а и като цяло в ежедневието на програмистите.
Един пример от моя опит – разработчиците на сайтове използват шестнадесетични числа, за да представят цветовете. Описваме цветовете като комбинация от три съставки: червено, зелено и синьо. Всяка от тези съставки може да се променя между 0 и 255. Синият цвят може да се запише така rgb(0, 0, 255) или с по-съкратената шестнадесетична версия, #0000FF. Използвайки тази нотация, можем да опишем 16, start superscript, 6, end superscript уникални цвята — повече от 16 милиона цвята!
Сега, след като се запозна с шестнадесетичните числа, отваряй си очите за тях. Често ще ги виждаш записани с 0x пред тях, като 0x4F или можеш да разпознаеш отличителната им смесица от 0-9 с A-F. Ако забележиш интересно тяхно приложение в ежедневието, сподели откритието си по-долу в секцията "Съвети и благодарности".

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Имаш ли въпроси по темата? Ще се радваме да ти отговорим, просто задай въпросите си по-долу!

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.