Ця стаття містить правописні, лексичні, граматичні, стилістичні або інші мовні помилки, які треба виправити. |
Шістнадцяткова систе́ма чи́слення — це позиційна система числення з 16. Тобто кожне число в ній записується за допомогою 16 символів. Арабські цифри від 0 до 9 відповідають значенням від нуля до дев'яти, а 6 літер латинської абетки A, B, C, D, E, F відповідають значенням від десяти до п'ятнадцяти. Шістнадцяткова система числення широко використовується розробниками комп'ютерів та програмістами.
Цю систему часто називають також Hex (початкові літери англ. hexadecimal — шістнадцятковий).
Декілька різних позначень використовуються для позначення шістнадцяткових констант в комп'ютерних мовах. Префікс «0x» широко поширений через його використання в Unix і C (і пов'язаних з ними операційних систем і мов). Крім того, деякі автори позначають шістнадцяткові значення, використовуючи суфікс чи індекс. Наприклад, можна було б написати 0x2AF3 або 2AF316, залежно від вибору способу позначень.
Як приклад, для шістнадцяткового числа 2AF316 знайдемо відповідне число в десятковій системі числення. Зауважимо, що 2AF316 дорівнює сумі (200016 + A0016 + F016 + 316), якщо розкласти число на послідовність позиційних значень елементів числа, то перетворення кожного елемента в десяткове значення, можна описати так: (216 × 163) + (A16 × 162) + (F16 × 161) + (316 × 160) =
(2 × 4096) + (10 × 256) + (15 × 16) + (3 × 1) = 10995.
Кожна шістнадцяткова цифра представляється чотирма бінарними цифрами (бітами), і основне застосування шістнадцяткового запису — це зручний запис двійкового коду. Одна шістнадцяткова цифра є ніблом, який є половиною з октету або байту (8 біт). Наприклад, значення байт лежить в діапазоні від 0 до 255 (в десяткових числах), але може бути більш зручно представити у вигляді двох шістнадцяткових цифр в діапазоні від 00 до FF. Шістнадцяткова система також широко використовується для представлення адресації пам'яті комп'ютера.
Використання
Найбільш широке застосування шістнадцятковій системи числення — це коди помилок програмних продуктів, наприклад, операційної системи. Числа, закладені в цих кодах, стандартизовані. Маючи спеціальну таблицю, завжди можна визначити, що саме означає та чи інша помилка.
Також часто використовується у низькорівневому програмуванні та комп'ютерній документації, оскільки в сучасних комп'ютерах мінімальною одиницею пам'яті є 8-бітний байт, значення якого зручно записувати двома шістнадцятковими цифрами. Таке використання почалося з системи (IBM/360), де вся документація використовувала саме таку систему числення, у той час коли в документації інших комп'ютерних системах того часу (навіть 8-бітними символами, як, наприклад, PDP-11) використовували вісімкову систему числення.
Багато програмістів використовують шістнадцяткову систему числення і при роботі з мовами високого рівня, тому що числа в цій системі за допомогою спеціальної таблиці відповідності легко переводяться в двійкову систему, на якій базується робота всієї цифрової техніки. Будь-яка інформація в комп'ютері, будь то музичний файл або текстовий документ, після трансляції представлена послідовністю вихідного двійкового коду, а його зручніше переглядати представленим символами шістнадцяткової системи.
Також, можливість переглянути програму в шістнадцятковому коді дозволяє налагодити її, внести зміни, а зловмисниками даний підхід використовується для злому програм.
В стандарті Юнікода номер символу прийнято записувати в шістнадцятковому виді, використовуючи не менш 4 цифр (за необхідності — з провідними нулями).
Переведення чисел з одної системи числення в іншу
Переведення чисел з шістнадцяткової системи в десяткову
Для переведення шістнадцяткового числа в десяткове необхідно це число представити у вигляді суми добутків ступенів основи шістнадцяткової системи числення на відповідні цифри в розрядах шістнадцяткового числа.
Наприклад, треба перевести шістнадцяткове число 5A3 в десяткове. В цьому числі 3 цифри. У відповідності з наданим правилом представимо його у вигляді суми ступенів з основою 16:
= 3·1+10·16+5·256 = 3+160+1280 = 144310
Переведення чисел із двійкової системи в шістнадцяткову та навпаки
Для переведення багатозначного числа у шістнадцяткову систему треба розбити його на справа наліво та замінити кожну тетраду відповідною шістнадцятковою цифрою. Для переведення числа з шістнадцяткової системи у двійкову треба замінити кожну його цифру на відповідну тетраду з наведеної нижче таблиці переведення.
Наприклад:
Зображення
Письмове представлення
Таблиця переведення чисел
0hex | = | 0dec | = | 0oct | 0 | 0 | 0 | 0 | |||
1hex | = | 1dec | = | 1oct | 0 | 0 | 0 | 1 | |||
2hex | = | 2dec | = | 2oct | 0 | 0 | 1 | 0 | |||
3hex | = | 3dec | = | 3oct | 0 | 0 | 1 | 1 | |||
4hex | = | 4dec | = | 4oct | 0 | 1 | 0 | 0 | |||
5hex | = | 5dec | = | 5oct | 0 | 1 | 0 | 1 | |||
6hex | = | 6dec | = | 6oct | 0 | 1 | 1 | 0 | |||
7hex | = | 7dec | = | 7oct | 0 | 1 | 1 | 1 | |||
8hex | = | 8dec | = | 10oct | 1 | 0 | 0 | 0 | |||
9hex | = | 9dec | = | 11oct | 1 | 0 | 0 | 1 | |||
Ahex | = | 10dec | = | 12oct | 1 | 0 | 1 | 0 | |||
Bhex | = | 11dec | = | 13oct | 1 | 0 | 1 | 1 | |||
Chex | = | 12dec | = | 14oct | 1 | 1 | 0 | 0 | |||
Dhex | = | 13dec | = | 15oct | 1 | 1 | 0 | 1 | |||
Ehex | = | 14dec | = | 16oct | 1 | 1 | 1 | 0 | |||
Fhex | = | 15dec | = | 17oct | 1 | 1 | 1 | 1 | |||
Запис числа формується за загальним принципом: на n-й позиції (справа наліво від 0) стоїть цифра, що відповідає кількості n-х степенів шістнадцяти у цьому числі. Наприклад, число записане в десятковій системі як 1000, в hex записується як 3E8, де:
3x162 + 14x161 + 8x160 = 768 + 224 + 8 = 1000.
Шістнадцяткова система числення широко вживана в інформатиці, оскільки значення кожного байту можна записати у вигляді двох цифр шістнадцяткової системи. Таким чином значення послідовних байтів можна подати у вигляді списку двозначних чисел. В той же час запис 4 бітів можна подати однією шістнадцятковою цифрою.
В математиці числа в не десяткових системах позначуються нижнім індексом, що визначає основу системи. Наприклад, 1016 = 1610. В інформатиці прийняті інші форми запису. В різних мовах програмування шістнадцятковий запис виглядає так:
- C, , Java — використовують префікс 0x (нуль та ікс) напр. 0x102f, а в текстових послідовностях \x, напр. «\x2f»
- Деякі версії Асемблера — за числом ставлять h, наприклад 102fh. При цьому, якщо число починається не з десяткової цифри, то спереду ставиться «0» (нуль): 0FFh (25510)
- Інші асемблери (AT&T, Motorola), а також Паскаль і деякі версії Бейсіку використовують префікс $, наприклад $102f
- Інші версії Бейсіку використовують для позначення шістнадцяткових цифр комбінацію «&h». Наприклад, &h5A3.
- HTML — кольори RGB (Red — Червоний, Green — Зелений, Blue — Синій) записується як 3 двозначні числа hex від 0 до FF(25510) з попереднім знаком #, наприклад рожевий — #FF8080, сірий — #808080, чорний — #000000. Цей запис стосується 24-бітного кольору, який приписують тому чи іншому графічному елементу документу HTML.
Ранні письмові представлення
Використання букви від А до F, щоб представляти цифри вище 9 не було загальноприйнятим в ранній історії комп'ютерів. Протягом 1950-х років, деякі пристрої, використовували цифри від 0 до 5 з макроном, щоб позначити цифри 10-15 як 0, 1, 2, 3, 4 та 5.
- Комп'ютери SWAC та «Bendix G-15» використовували букви нижнього регістру u, v, w, x, y та z для значень від 10 до 15.
- «Librascope LGP-30» використовували літери F, G, J, K, Q та W.
- Комп'ютери «Illiac I» використовували літери K, S, N, J, F та L.
- з Брукгейвенської національної лабораторії вважав вибір A-F «безглуздим» і в 1968 редактором САСМ був запропонований абсолютно новий набір символів на основі бітових місцеположень, які не отримали поширення.
- Радянські програмовані калькулятори Б3-34 і аналогічні використовували символи «-», «L», «C», «Г», «Е», "" (пробіл) на їх дисплеях.
Словесні і цифрові представлення
Немає ніяких традиційних чисел, щоб представити величини від десяти до п'ятнадцяти — літери використані як заміна і більшості європейських мов не вистачає не десяткових найменувань для вказівки цифр вище десяти. Хоча англійська має назви для кількох недесяткових ступенів, ніяке англійське слово не описує шістнадцяткові ступені. Деякі люди читають шістнадцяткову цифру подібно до телефонного номера: 4DA — «four-dee-ay». Однак, буква А звучить подібно «восьми», і D може бути помилково прийнятою за суфікс «-ty». Інші люди уникають замішання, користуючись фонетичним алфавітом НАТО.
Історія
Слово шістнадцятковий складається з hexa-, походить від грецького έξ (hex), що означає «шість», і -decimal, що походить від латинського слова «десятий». Сама рання дата, завірення цього терміну в Інтернеті є 1954, тим самим поміщаючи його в категорію міжнародного наукового словника (ISV). Зазвичай в ISV змішані грецькі і латинські форми, що вільно поєднуються. Слово «шістдесяткова» (sexagesimal) зберігає латинську приставку. Дональд Кнут вказав, що етимологічно правильний термін є «senidenary» (або, можливо, sedenary), від латинського терміна для згрупованих на 16. (Терміни бінарні, потрійних і четверні з того ж латинського будівництва, і етимологічно правильні умови для десяткової і вісімкової арифметики є десятеричний та восьмеричний відповідно.)
Використання в китайській культурі
Традиційні китайські одиниці ваги базувалися на 16. Наприклад, один Чжин (斤) в старій системі становить шістнадцять Таеля. Суаньпань (китайська абака) може бути використаний для виконання шістнадцяткових обчислень.
Цікаві факти
- У фільмі «Марсіянин» саме цю систему головний герой використав для зв'язку з наземним центром керування NASA.[]
Див. також
Посилання
- Матеріали лекцій до вивчення дисципліни «Комп'ютерна обробка текстової інформації»[недоступне посилання з серпня 2019]
- Шістнадцяткова система числення на YouTube (рос.) — візуальне пояснення роботи шістнадцяткової системи числення
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya mistit pravopisni leksichni gramatichni stilistichni abo inshi movni pomilki yaki treba vipraviti Vi mozhete dopomogti vdoskonaliti cyu stattyu pogodivshi yiyi iz chinnimi movnimi standartami Shistnadcyatkova siste ma chi slennya ce pozicijna sistema chislennya z 16 Tobto kozhne chislo v nij zapisuyetsya za dopomogoyu 16 simvoliv Arabski cifri vid 0 do 9 vidpovidayut znachennyam vid nulya do dev yati a 6 liter latinskoyi abetki A B C D E F vidpovidayut znachennyam vid desyati do p yatnadcyati Shistnadcyatkova sistema chislennya shiroko vikoristovuyetsya rozrobnikami komp yuteriv ta programistami Cyu sistemu chasto nazivayut takozh Hex pochatkovi literi angl hexadecimal shistnadcyatkovij Dekilka riznih poznachen vikoristovuyutsya dlya poznachennya shistnadcyatkovih konstant v komp yuternih movah Prefiks 0x shiroko poshirenij cherez jogo vikoristannya v Unix i C i pov yazanih z nimi operacijnih sistem i mov Krim togo deyaki avtori poznachayut shistnadcyatkovi znachennya vikoristovuyuchi sufiks chi indeks Napriklad mozhna bulo b napisati 0x2AF3 abo 2AF316 zalezhno vid viboru sposobu poznachen Yak priklad dlya shistnadcyatkovogo chisla 2AF316 znajdemo vidpovidne chislo v desyatkovij sistemi chislennya Zauvazhimo sho 2AF316 dorivnyuye sumi 200016 A0016 F016 316 yaksho rozklasti chislo na poslidovnist pozicijnih znachen elementiv chisla to peretvorennya kozhnogo elementa v desyatkove znachennya mozhna opisati tak 216 163 A16 162 F16 161 316 160 2 4096 10 256 15 16 3 1 10995 Kozhna shistnadcyatkova cifra predstavlyayetsya chotirma binarnimi ciframi bitami i osnovne zastosuvannya shistnadcyatkovogo zapisu ce zruchnij zapis dvijkovogo kodu Odna shistnadcyatkova cifra ye niblom yakij ye polovinoyu z oktetu abo bajtu 8 bit Napriklad znachennya bajt lezhit v diapazoni vid 0 do 255 v desyatkovih chislah ale mozhe buti bilsh zruchno predstaviti u viglyadi dvoh shistnadcyatkovih cifr v diapazoni vid 00 do FF Shistnadcyatkova sistema takozh shiroko vikoristovuyetsya dlya predstavlennya adresaciyi pam yati komp yutera VikoristannyaNajbilsh shiroke zastosuvannya shistnadcyatkovij sistemi chislennya ce kodi pomilok programnih produktiv napriklad operacijnoyi sistemi Chisla zakladeni v cih kodah standartizovani Mayuchi specialnu tablicyu zavzhdi mozhna viznachiti sho same oznachaye ta chi insha pomilka Takozh chasto vikoristovuyetsya u nizkorivnevomu programuvanni ta komp yuternij dokumentaciyi oskilki v suchasnih komp yuterah minimalnoyu odiniceyu pam yati ye 8 bitnij bajt znachennya yakogo zruchno zapisuvati dvoma shistnadcyatkovimi ciframi Take vikoristannya pochalosya z sistemi IBM 360 de vsya dokumentaciya vikoristovuvala same taku sistemu chislennya u toj chas koli v dokumentaciyi inshih komp yuternih sistemah togo chasu navit 8 bitnimi simvolami yak napriklad PDP 11 vikoristovuvali visimkovu sistemu chislennya Bagato programistiv vikoristovuyut shistnadcyatkovu sistemu chislennya i pri roboti z movami visokogo rivnya tomu sho chisla v cij sistemi za dopomogoyu specialnoyi tablici vidpovidnosti legko perevodyatsya v dvijkovu sistemu na yakij bazuyetsya robota vsiyeyi cifrovoyi tehniki Bud yaka informaciya v komp yuteri bud to muzichnij fajl abo tekstovij dokument pislya translyaciyi predstavlena poslidovnistyu vihidnogo dvijkovogo kodu a jogo zruchnishe pereglyadati predstavlenim simvolami shistnadcyatkovoyi sistemi Takozh mozhlivist pereglyanuti programu v shistnadcyatkovomu kodi dozvolyaye nalagoditi yiyi vnesti zmini a zlovmisnikami danij pidhid vikoristovuyetsya dlya zlomu program V standarti Yunikoda nomer simvolu prijnyato zapisuvati v shistnadcyatkovomu vidi vikoristovuyuchi ne mensh 4 cifr za neobhidnosti z providnimi nulyami Perevedennya chisel z odnoyi sistemi chislennya v inshuPerevedennya chisel z shistnadcyatkovoyi sistemi v desyatkovu Dlya perevedennya shistnadcyatkovogo chisla v desyatkove neobhidno ce chislo predstaviti u viglyadi sumi dobutkiv stupeniv osnovi shistnadcyatkovoyi sistemi chislennya na vidpovidni cifri v rozryadah shistnadcyatkovogo chisla Napriklad treba perevesti shistnadcyatkove chislo 5A3 v desyatkove V comu chisli 3 cifri U vidpovidnosti z nadanim pravilom predstavimo jogo u viglyadi sumi stupeniv z osnovoyu 16 5A316 3 160 10 161 5 162 3 1 10 16 5 256 3 160 1280 144310 Perevedennya chisel iz dvijkovoyi sistemi v shistnadcyatkovu ta navpaki Dlya perevedennya bagatoznachnogo chisla u shistnadcyatkovu sistemu treba rozbiti jogo na sprava nalivo ta zaminiti kozhnu tetradu vidpovidnoyu shistnadcyatkovoyu cifroyu Dlya perevedennya chisla z shistnadcyatkovoyi sistemi u dvijkovu treba zaminiti kozhnu jogo cifru na vidpovidnu tetradu z navedenoyi nizhche tablici perevedennya Napriklad 0101101000112 0101 1010 0011 5A316ZobrazhennyaPismove predstavlennya Tablicya perevedennya chisel 0hex 0dec 0oct 0 0 0 0 1hex 1dec 1oct 0 0 0 1 2hex 2dec 2oct 0 0 1 0 3hex 3dec 3oct 0 0 1 1 4hex 4dec 4oct 0 1 0 0 5hex 5dec 5oct 0 1 0 1 6hex 6dec 6oct 0 1 1 0 7hex 7dec 7oct 0 1 1 1 8hex 8dec 10oct 1 0 0 0 9hex 9dec 11oct 1 0 0 1 Ahex 10dec 12oct 1 0 1 0 Bhex 11dec 13oct 1 0 1 1 Chex 12dec 14oct 1 1 0 0 Dhex 13dec 15oct 1 1 0 1 Ehex 14dec 16oct 1 1 1 0 Fhex 15dec 17oct 1 1 1 1 Zapis chisla formuyetsya za zagalnim principom na n j poziciyi sprava nalivo vid 0 stoyit cifra sho vidpovidaye kilkosti n h stepeniv shistnadcyati u comu chisli Napriklad chislo zapisane v desyatkovij sistemi yak 1000 v hex zapisuyetsya yak 3E8 de 3x162 14x161 8x160 768 224 8 1000 Shistnadcyatkova sistema chislennya shiroko vzhivana v informatici oskilki znachennya kozhnogo bajtu mozhna zapisati u viglyadi dvoh cifr shistnadcyatkovoyi sistemi Takim chinom znachennya poslidovnih bajtiv mozhna podati u viglyadi spisku dvoznachnih chisel V toj zhe chas zapis 4 bitiv mozhna podati odniyeyu shistnadcyatkovoyu cifroyu V matematici chisla v ne desyatkovih sistemah poznachuyutsya nizhnim indeksom sho viznachaye osnovu sistemi Napriklad 1016 1610 V informatici prijnyati inshi formi zapisu V riznih movah programuvannya shistnadcyatkovij zapis viglyadaye tak C C Java vikoristovuyut prefiks 0x nul ta iks napr 0x102f a v tekstovih poslidovnostyah x napr x2f Deyaki versiyi Asemblera za chislom stavlyat h napriklad 102fh Pri comu yaksho chislo pochinayetsya ne z desyatkovoyi cifri to speredu stavitsya 0 nul 0FFh 25510 Inshi asembleri AT amp T Motorola a takozh Paskal i deyaki versiyi Bejsiku vikoristovuyut prefiks napriklad 102f Inshi versiyi Bejsiku vikoristovuyut dlya poznachennya shistnadcyatkovih cifr kombinaciyu amp h Napriklad amp h5A3 HTML kolori RGB Red Chervonij Green Zelenij Blue Sinij zapisuyetsya yak 3 dvoznachni chisla hex vid 0 do FF 25510 z poperednim znakom napriklad rozhevij FF 80 80 sirij 80 80 80 chornij 00 00 00 Cej zapis stosuyetsya 24 bitnogo koloru yakij pripisuyut tomu chi inshomu grafichnomu elementu dokumentu HTML Ranni pismovi predstavlennya Vikoristannya bukvi vid A do F shob predstavlyati cifri vishe 9 ne bulo zagalnoprijnyatim v rannij istoriyi komp yuteriv Protyagom 1950 h rokiv deyaki pristroyi vikoristovuvali cifri vid 0 do 5 z makronom shob poznachiti cifri 10 15 yak 0 1 2 3 4 ta 5 Komp yuteri SWAC ta Bendix G 15 vikoristovuvali bukvi nizhnogo registru u v w x y ta z dlya znachen vid 10 do 15 Librascope LGP 30 vikoristovuvali literi F G J K Q ta W Komp yuteri Illiac I vikoristovuvali literi K S N J F ta L z Brukgejvenskoyi nacionalnoyi laboratoriyi vvazhav vibir A F bezgluzdim i v 1968 redaktorom SASM buv zaproponovanij absolyutno novij nabir simvoliv na osnovi bitovih miscepolozhen yaki ne otrimali poshirennya Radyanski programovani kalkulyatori B3 34 i analogichni vikoristovuvali simvoli L C G E probil na yih displeyah Slovesni i cifrovi predstavlennya Nemaye niyakih tradicijnih chisel shob predstaviti velichini vid desyati do p yatnadcyati literi vikoristani yak zamina i bilshosti yevropejskih mov ne vistachaye ne desyatkovih najmenuvan dlya vkazivki cifr vishe desyati Hocha anglijska maye nazvi dlya kilkoh nedesyatkovih stupeniv niyake anglijske slovo ne opisuye shistnadcyatkovi stupeni Deyaki lyudi chitayut shistnadcyatkovu cifru podibno do telefonnogo nomera 4DA four dee ay Odnak bukva A zvuchit podibno vosmi i D mozhe buti pomilkovo prijnyatoyu za sufiks ty Inshi lyudi unikayut zamishannya koristuyuchis fonetichnim alfavitom NATO IstoriyaEtimologiya Slovo shistnadcyatkovij skladayetsya z hexa pohodit vid greckogo e3 hex sho oznachaye shist i decimal sho pohodit vid latinskogo slova desyatij Sama rannya data zavirennya cogo terminu v Interneti ye 1954 tim samim pomishayuchi jogo v kategoriyu mizhnarodnogo naukovogo slovnika ISV Zazvichaj v ISV zmishani grecki i latinski formi sho vilno poyednuyutsya Slovo shistdesyatkova sexagesimal zberigaye latinsku pristavku Donald Knut vkazav sho etimologichno pravilnij termin ye senidenary abo mozhlivo sedenary vid latinskogo termina dlya zgrupovanih na 16 Termini binarni potrijnih i chetverni z togo zh latinskogo budivnictva i etimologichno pravilni umovi dlya desyatkovoyi i visimkovoyi arifmetiki ye desyaterichnij ta vosmerichnij vidpovidno Vikoristannya v kitajskij kulturi Tradicijni kitajski odinici vagi bazuvalisya na 16 Napriklad odin Chzhin 斤 v starij sistemi stanovit shistnadcyat Taelya Suanpan kitajska abaka mozhe buti vikoristanij dlya vikonannya shistnadcyatkovih obchislen Cikavi faktiU filmi Marsiyanin same cyu sistemu golovnij geroj vikoristav dlya zv yazku z nazemnim centrom keruvannya NASA dzherelo Div takozhSistema chislennya Pozicijni sistemi chislennya Dvijkova sistema chislennya Visimkova sistema chislennya Desyatkova sistema chislennyaPosilannyaMateriali lekcij do vivchennya disciplini Komp yuterna obrobka tekstovoyi informaciyi nedostupne posilannya z serpnya 2019 Shistnadcyatkova sistema chislennya na YouTube ros vizualne poyasnennya roboti shistnadcyatkovoyi sistemi chislennya