logo
AOM / Мельник А

2.2. Двійкові, вісімкові та шістнадцяткові числа

У зв'язку з тим, що елементи з двома станами використовуються як базові елементи комп'ютерної техніки, всі числа в комп'ютерах представляються у двійковій системі чис­лення. Розглянемо особливості цієї системи.

Двійкова система числення будується за тим самим правилом, що і десяткова, але в ній використовуються лише дві цифри - 0 та 1. Число у двійковій системі числення за­писується у вигляді:

а значення числа обчислюється за таким виразом:

де:

Часто у розробника, а то і в користувача комп'ютера, виникає потреба в перевірці ко-ректності виконання операцій над двійковими числами комп'ютером або його вузлом.

58

А оскільки в комп'ютерах опрацьовуються багаторозрядні двійкові числа, і оперувати з такими довгими послідовностями нулів та одиниць (наприклад, рядок із 32 цифр) не­зручно, то набули поширення вісімкова та шістнадцяткова системи числення. У вісімко-вій системі числення використовують вісім цифр від 0 до 7, а у шістнадцятковій системі числення крім десяткових цифр від 0 до 9 використовують 6 літер латинського алфавіту (А, В, С, D,E,F)для позначення цифр від 10 до 15. Значення числа обчислюється за та­ким виразом:

де:

" N - кількість цифр (розрядів) у цілій частині числа (зліва від коми),

Особливістю цих систем є зручний перехід до двійкової системи та навпаки. Три двійкових розряди переводяться в один вісімковий, а чотири двійкових розряди - в один шістнадцятковий, як показано в табл. 2.1.

Таблиця 2.1

Двійкова

Шістнадцяткова

Двійкова

Шістнадцяткова

0000

0

1000

8

0001

1

1001

9

0010

2

1010

Л

0011

3

1011

В

0100

4

1100

с

0101

5

1101

D

0110

6

1110

Е

0111

7

1111

F

Наприклад, двійкове число 01101101 у шістнадцятковій системі записуватиметься як 6D.Для переведення чисел із шістнадцяткової та вісімкової систем числення у двійкову необхідно кожну цифру числа, яке переводиться, замінити відповідно чотири- або три-розрядним двійковим еквівалентом - тетрадою або тріадою, а отримані двійкові цифри розташувати на місцях шістнадцяткових або вісімкових цифр.

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

Приклад 1. Переведемо число 12345,67 з десяткової системи числення у двійкову, ві­сімкову, шістнадцяткову.

1. Переведення цілої частини числа у вісімкову систему:

12345 : 8 = 1543, залишок 1;

1543 : 8 = 192, залишок 7;

192 : 8 = 24, залишок 0;

24 : 8 = 3, залишок 0;

3:8 = 0, залишок 3.

59

Результат: 30071.

2. Переведення дробової частини числа у вісімкову систему: 0,67x8 = 5,36;

0,36x8 = 2,88; 0,88 х 8 = 7,04; 0,04x8 = 0,32. Наближений результат: 0,5270... .

  1. Отримання повного результату шляхом об'єднання результатів, отриманих в п. 1 та п. 2. Результат: 30071,5270... .

  2. Переведення результату у двійкову та шістнадцяткову системи числення (табл. 2.2). Поділ двійкового числа на тріади та тетради починається від коми ліворуч і праворуч. Результат: 12345,6710=30071,52708=11000000111001,1010101112=3039,АВ816.

Таблиця 2.2

2.3. Переведення чисел із системи числення з основою к у десяткову систему

Один із методів переведення чисел із системи числення з основою kу десяткову сис­тему числення ґрунтується на використанні кількісного еквівалента числа. Для пере­ведення необхідно записати число у його кількісному еквіваленті, замінивши цифри системи числення з основою kта основу kїхніми десятковими еквівалентами, а потім обчислити вираз за правилами десяткової арифметики.

Приклад 1. Переведемо двійкове число 1011,1001 у десяткову систему числення.

Таким чином, 1011,1001,= 11,5625...

Приклад2. Переведемо вісімкове число 105,71 у десяткову систему числення.

Результат: 105,718 = 69,890625і0.

Приклад 3. Переведемо шістнадцяткове число 2KD,0Aдо десяткової системи числення.

Результат: 2ED,0A,6= 849,0390625,(..

2.4. Переведення чисел із десяткової системи у систему числення з основою k

Розглянемо переведення чисел із десяткової системи числення у іншу однорідну по­зиційну систему числення з основою к, коли дії виконуються в десятковій системі. У разі цього переведення окремо виконується переведення цілої частини числа й окремо - дробової; результати потім додаються.

60

Цілу частину десяткового числа X10ділять на основу системи числення kза правила­ми десяткової арифметики до отримання залишку, який буде десятковим еквівалентом цифри молодшого розряду результату. Якщо частка від ділення не дорівнює 0, то вона стає діленим і процес ділення на kпродовжується. Як тільки чергова частка стане рівною 0, процес ділення на kприпиняється. Залишок, який отримали у результаті першого ділення на к, є цифрою розряду результату з вагою k0, залишок у результаті другого ділення - циф­рою з вагою ki і т. д. Останній залишок є цифрою старшого розряду результату.

Дробова частина десяткового числа X10множиться на kза правилами десяткової арифметики. В отриманому добутку від'єднується ціла частина, яка може дорівнювати 0, а дробова частина знову множиться на kіз наступним від'єднанням цілої частини. Ця операція повторюється або до отримання нульової дробової частини добутку, або до отримання необхідної кількості розрядів числа Xk. Цифра старшого розряду результату переведення (тобто, перша після коми) збігається з першою від'єднаною цілою части­ною, цифра другого розряду результату переведення - із другою від'єднаною цілою час­тиною і т.д. При цьому від'єднані цілі частини необхідно представити в системі числення з основою к.

Приклад. Переведемо десяткове число 11,5625 у двійкову систему числення з точніс­тю до п'яти розрядів після коми.

Переведення цілої частини:

11:2 = 5, залишок 1 (молодший розряд результату),

5:2 = 2, залишок 1,

2:2= 1, залишок 0,

1:2 = 0, залишок 1 (старший розряд результату).

Результат: 1110= 10112.

Процедура переведення дробової частини наведена у табл. 2.3.

Таблиця 2.3

Крок

Дріб

Результат

множення

на к = 2

Ціла частина

результату

множення,

яка вилучається

Вага двійкового розряду

1

0.5625

1.125

1

Старший (перший після коми)

2

0.125

0.25

0

3

0.25

0.5

0

4

0.5

1.0

1

Молодший

5

0.0

0.0

0

Результат: 0.562510 =0,100102.

Повний результат: 11,562510 = 1011 + 0,10010 = 1011,100102.