четверг, 17 апреля 2014 г.


Система числення — це спосіб запису чисел за допомогою певних знаків. Найбільше поширення мають позиційні системи, які визначаються цілим числом, званим підставою. Найчастіше використовуються підстави 2,8, 10 і 16, а системи називаються, відповідно, двійкова, вісімкова, десяткова і шістнадцяткова.

Корисні поради

Для полегшення переведення чисел з однієї системи в іншу використовуйте таблиці.

Можна скористатися online-калькулятором.

інструкція

  1. Розглянемо переклад з будь-якої системи числення (з будь-яким цілим числом в підставі) в десяткову. Для цього шукане число, наприклад, 123 потрібно записати за формулою запису числа, прийнятої у вихідній системі числення. Візьмемо для прикладу вісімкову систему. Виходячи з назви, підставою є цифра 8, це означає, що кожен розряд числа є ступенем підстави за зменьшенням, в даному випадку це друга, перша і нульова ступінь (8 в нульової ступеня = 1). Числі 123 записується наступним чином: 1 * 8 * 8 +2 * 8 +3 * 1. Перемножте цифри і отримав 64 +16 +3, у результаті — 83. Це число і буде поданням шуканого числа в десятковій системі числення.
  2. Для шістнадцятковій системи розрахунок складніше. У ній окрім цифр у поданні беруть участь букви латинського алфавіту, тобто повний розряд складає цифри від 0 до 9 і букви від A до F. Наприклад, число 6B6 за формулою запису числа буде виглядати так: 6 * 16 * 16 +11 * 16 +6 * 1, де В = 11. Перемножте цифри і отримаєте 1536 +176 +6, у результаті — 1718. Це — те ж число в десятковій системі числення.
  3. Переклад з десяткової системи в двійкову, вісімкову і шістнадцяткову проводиться шляхом послідовного розподілу на підставу (2, 8 і 16) до тих пір, поки не залишиться число менше дільника. Залишки виписуються в зворотному порядку. Наприклад, переведемо число 40 в двійкову систему, для цього: розділіть 40 на 2, пишіть 0, 20 на 2, пишіть 0, 10 на 2, пишіть 0, 5 на 2, пишіть 1, 2 на 2, пишіть 0 і 1. Отримуємо підсумкове число в двійковій системі — 101000.
  4. Переведемо число 123 з десяткової системи в вісімкову, залишки також пишуться в зворотному порядку. Делите 123 на 8, виходить 15 і 3 в залишку, пишіть 3. Делите 15 на 8, виходить 1 і 7 в залишку, пишіть 7. У старшому розряді пишіть залишилася 1. Підсумкове число — 173.
  5. Переведемо число 123 з десяткової системи в шістнадцяткову. Делите 123 на 16, виходить 7, 11 у залишку. Отже, цифра старшого розряду — 7, цифра 11 менше підстави і позначається буквою B. Отримуємо підсумкове число — 7B.
  6. Щоб перевести будь-яке число в двійкову систему числення, потрібно кожну цифру розряду вихідного числа записати у вигляді четвірки чисел згідно з таблицею, наприклад, для десяткової системи: 0 = 0000, 1 = 0001, 2 = 0010, 3 = 0011, 4 = 0100, 5 = 0101 і так далі.
  7. Для перекладу з двійкової системи в вісімкову або шістнадцяткову потрібно розбити вихідне число на четвірки або тріади по двійковій системі, а потім кожну з комбінацій (тріад або четвірок) замінити відповідною цифрою у підсумковій системі.




 Приклад 1. Складемо числа 15 і 6 в шістнадцятковій системі числення. 
                     відповідь  F16+616  
Приклад 2. Складемо числа 15, 7 і 3. 
                    відповідь F16+716+316


Причини використання в комп'ютерах також вісімкової і шістнадцяткової систем числення

Двійкова система, зручна для комп'ютерів, для людини незручна із-за її громіздкості і незвичного запису. Первід чисел з десяткової системи в двійкову і навпаки виконує комп'ютер. Проте, щоб професійно використовувати комп'ютер, слід навчитися розуміти слово машини. Для цього і розроблені вісімкова і шістнадцяткова системи. Числа в цих системах читаються майже так само легко, як десяткові, вимагають відповідно в три (вісімкова) і в чотири (шістнадцяткова) рази менше розрядів, чим в двійковій системі (адже числа 8 і 16 — відповідно, третій і четвертий ступені числа 2). 

 Перевід вісімкових і шістнадцятиричних чисел в двійкову систему дуже простий: достатньо кожну цифру замінити еквівалентною їй двійковою тріадою (трійкою цифр) або тетрадою (четвіркою цифр).

Наприклад: 


  Щоб перевести число з двійкової системи у вісімкову або шістнадцяткову, його потрібно розбити вліво і вправо від коми на  тріади  (для вісімкової) або  тетради  (для шістнадцяткової)  і кожну таку групу замінити відповідною вісімковою (шістнадцятковою) цифрою.

Наприклад 

Переклад чисел з однієї системи числення в іншу

Переклад чисел з шістнадцятковій системи в десяткову

Для перекладу шістнадцяткового числа на десяткове необхідно це число представити у вигляді суми добутків ступенів підстави шістнадцятковій системи числення на відповідні цифри в розрядах шістнадцяткового числа.
Наприклад, потрібно перевести шістнадцяткове число 5A3 на десяткове. У цьому числі 3 цифри. Відповідно до вищевказаного правилом подамо його у вигляді суми ступенів з основою 16:
5A3 16 = 3.16 0 +10 16 1 +5 16 лютого 
= 3.1 +10 16 +5 256 = 3 +160 +1280 = 1443 10

Переклад чисел з двійкової системи в шістнадцяткову і навпаки

Для перекладу багатозначного двійкового числа в шістнадцяткову систему потрібно розбити його на тетради справа наліво і замінити кожну тетраду відповідної шістнадцятковій цифрою. Для переведення числа з шістнадцятковій системи в двійкову потрібно замінити кожну його цифру на відповідну тетраду з наведеної нижче таблиці перекладу.

Наприклад:
010110100011 2 = 0101 1010 0011 = 5A3 16

 Способи записи

 У математиці

У математиці підставу системи числення прийнято вказувати в десятковій системі в нижньому індексі. Наприклад, десяткове число 1443 можна записати як 1443 10 або як 5A3 16.

У мовах програмування

У різних мовах програмування для запису шістнадцятиричних чисел використовують різний синтаксис:
  • В Ада і VHDL такі числа вказують так: "16 # 5A3 #".
  • В Сі і мови схожого синтаксису, наприклад, в Java, використовують префікс "0x". Наприклад, "0x5A3".
  • У деяких асемблерах використовують букву "h", яку ставлять після числа. Наприклад, "5A3h". При цьому, якщо число починається не з десяткової цифри, то для відмінності від імен ідентифікаторів (наприклад, констант) попереду ставиться "0" (нуль): "0FFh" (255 10)
  • Інші асемблери (AT & T, Motorola), а також Паскаль і деякі версії Бейсіка використовують префікс "$". Наприклад, "$ 5A3".
  • Деякі інші платформи, наприклад ZX Spectrum в своїх асемблерах (MASM, TASM, ALASM, GENS і т. д.) використовували запис # 5A3, зазвичай вирівняну до одного або двох байт: # 05A3.
  • Інші версії Бейсіка використовують для вказівки шістнадцятиричних цифр поєднання "& h". Наприклад, "& h5A3".
  • У Unix-подібних операційних системах (і багатьох мовах програмування, що мають коріння в Unix / linux) недруковані символи при виведенні / введенні кодуються як 0xCC, де CC - шістнадцятковий код символу.

Шістнадцяткова систе́ма чи́слення — це система числення, кожне число в якій записується за допомогою 16-ти символів. Цю систему часто називають також Hex (початкові літери англ. hexadecimal — шіснадцятковий). Спочатку планувалось вживати латинське sexa замість hexa, проте це слово сприймалось неоднозначно. Для запису чисел в цій системі окрім 10 арабських цифр (від 0 до 9) використовують 6 літер латинської абеткиABCDEF.

0hex=0dec=0oct0000
1hex=1dec=1oct0001
2hex=2dec=2oct0010
3hex=3dec=3oct0011
4hex=4dec=4oct0100
5hex=5dec=5oct0101
6hex=6dec=6oct0110
7hex=7dec=7oct0111
8hex=8dec=10oct1000
9hex=9dec=11oct1001
Ahex=10dec=12oct1010
Bhex=11dec=13oct1011
Chex=12dec=14oct1100
Dhex=13dec=15oct1101
Ehex=14dec=16oct1110
Fhex=15dec=17oct1111

Запис числа формується за загальним принципом: на n-й позиції (справа наліво від 0) стоїть цифра, що відповідає кількості n-х степенів шістнадцяти у цьому числі. Наприклад, число записане в десятковій системі як 1000, в hex записується як 3E8, де:
3x162 + 14x161 + 8x160 = 768 + 224 + 8 = 1000.
Шістнадцяткова система числення широко вживана в інформатиці, оскільки значення кожного байту можна записати у вигляді двох цифр шістнадцяткової системи. Таким чином значення послідовних байтів можна представити у вигляді списку двозначних чисел. В той же час запис 4 бітів можна представити однією шістнадцятковою цифрою.
В математиці числа в недесяткових системах позначуються нижнім індексом, що визначає основу позиції. Наприклад, 1016 = 1610. В інформатиці прийняті інші форми запису.