Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
02Nums.doc
Скачиваний:
6
Добавлен:
08.11.2018
Размер:
287.23 Кб
Скачать

1. Спочатку зображенням є «0.».

2. Поки одержано менше за r дробових цифр,

обчислити VP, обчислити d як [VP]

(ціле число від 0 до P–1) та V як {VP}.

Зобразити значення d як P-кову цифру та

дописати її до зображення праворуч.

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

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

    1. 2.5. Зв’язок двійкових, вісімкових та шістнадцяткових записів

Двійкова система не дуже зручна для людини, оскільки числа записуються в ній досить довгими послідовностями нулів і одиниць. Наприклад, десяткове число 1024 в двійковій системі числення виглядає як 10000000000. Для скорочення запису в програмуванні традиційно використовують вісімкову та шістнадцяткову системи числення.

Вісімковим цифрам від 0 до 7 взаємно однозначно відповідають усі можливі трирозрядні двійкові коди (з незначущими нулями).

0

000

1

001

2

010

3

011

4

100

5

101

6

110

7

111

Аналогічно, шістнадцятковим цифрам від 0 до F відповідають усі можливі чотирирозрядні двійкові коди (також із незначущими нулями).

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

E

1110

F

1111

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

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

Приклад. Двійковий запис 1111010 розіб’ємо на групи 1, 111, 010. Групу 1 доповнимо до трійки 001. Трійці 001 відповідає вісімкова цифра 1, трійці 111 — 7, і, нарешті, 010 — 2. Результатом є вісімковий запис 172. Навпаки, у вісімковому 172 цифрі 1 відповідає група двійкових розрядів 001, 7 — група 111, 2 — група 010. Результат перетворення — двійкове 1111010 (без незначущих старших 00). 

Перетворення двійкового запису на шістнадцятковий аналогічне, лише двійковий запис розбивають на групи з чотирьох розрядів, які замінюють відповідними шістнадцятковими цифрами. Навпаки, шістнадцятковий запис перетворюють на двійковий заміною цифр відповідними четвірками двійкових цифр.

Приклад. Двійкове число 1111010 розбивається на групи 111 і 1010. Старша група 111 доповнюється до 0111; їй відповідає шістнадцяткова цифра 7, групі 1010 — цифра A. Результат — шістнадцятковий запис 7A.

У шістнадцятковому записі 7A цифрі 7 відповідає тетрада 0111, цифрі A 1010. Результат перетворення — двійковий запис 1111010. 

Аналогічний зв’язок між цими трьома системами існує й у запису дробових чисел. Групи по три двійкові цифри, починаючи від старших (перших після коми), відповідають вісімковим цифрам, а групи по чотири — шістнадцятковим. Остання група може бути неповною — до неї дописують незначущі нулі, але праворуч.

Приклад. Двійковий запис 0,0101111101 розіб’ємо на групи по три цифри: 010, 111, 110 та 1. Останню групу доповнимо до 100 та отримаємо вісімковий запис 0,2764. Цей самий двійковий запис розіб’ємо на групи 0101, 1111, 01, останню групу доповнимо до 0100 та утворимо шістнадцятковий запис 0,5F4. 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]