Главная Учебники - Разные Лекции (разные) - часть 44
|
Лабораторна робота №2 Тема:
Перетворення
кодів з однієї системи числення в іншу
. Мета
:
Отримати навички переведення натуральних чисел між системами числення з різними основами. Завдання:
Згідно номера по списку в журналі викладача
необхідно вибрати десяткове число K
із табл. 1. Таблиця 1 – Вихідні дані №п/п 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Число К
486 317 281 307 436 214 193 325 501 142 398 267 186 469 369 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Приклад 165 205 346 452 374 175 412 159 274 358 245 385 423 253 295 234 Необхідно:
перевести взяте з табл. 1 число K
між десятковою, двійковою, вісімковою та шістнадцятковою системами числення. Теоретичні дані:
Перш за все слід відзначити, що найбільш звичною системою числення для людини є десяткова система. Саме вона використовується у повсякденному житті: під час навчання, при розрахунках в магазині, в таксі/маршрутці/трамваї тощо. Крім десяткової системи числення для тих чи інших цілей можуть використовуватися двійкова і кратні до неї – вісімкова та шістнадцяткова – системи числення. В теорії інформації, а саме в тій її частині, що стосується перетворення кодів з однієї системи числення в іншу, одним із основних є поняття алфавіту
(позначається Алфавіт
– це множина цифр
В загальному вигляді поняття алфавіту можна представити у вигляді виразу:
де Загальна кількість Існують різноманітні алфавіти, що відрізняються загальною кількістю цифр, які можуть використовуватися при складанні числа. Для ілюстрації приведемо в табл. 2 вказані характеристики найбільш вживаних систем числення: Таблиця 2 – Характеристики алфавітів найбільш поширених систем числення Алфавіт Множина цифр алфавіту Основа двійковий
вісімковий
десятковий
шістнадцятковий
*
Таким чином, в якості коректних двійкових чисел можна вказати такі: 100111, 111, 0, 10; тоді як число 100211 неможливе, адже в двійковому алфавіті немає цифри "2". З аналогічних причин можливі шістнадцяткові числа 106, E1F, 1BC, 589, проте неможливі 1I6, O04, 3P24. Основа системи числення деякого числа Для зручності завдання на перекодування чисел з однієї системи числення в іншу запишемо у вигляді відповідності між їх основами: Для ілюстрації даного положення розглянемо три вирази: 1) 2) 3) Перший вираз
слід інтерпретувати так: дано десяткове число 7861, його необхідно перекодувати з десяткової системи числення в двійкову, з якої в вісімкову, а потім число з вісімкової системи – у шістнадцяткову. Другий вираз
передбачає те саме, що і перший вираз, за винятком того, що після кожного прямого перекодування
необхідно додатково виконати
перевірку
–
зворотне перекодування. Третій вираз
вимагає переведення десяткового числа лише з десяткової системи числення у двійкову, вісімкову та шістнадцяткову, відповідно, з виконанням перевірок після кожного перекодування. З цифр алфавіту
де Порядковий номер цифр числа Враховуючи, що у числі
Таким чином, наприклад, різних чотирьохрозрядних чисел в алфавіті Питання для самоперевірки
засвоєння основних теоретичних положень: – для числа – для вісімкового числа 123456 вкажіть цифри, що знаходяться в першому, в останньому та в – вкажіть всі коректні числа із наступного списку, враховуючи множини цифр розглянутих вище алфавітів (див. табл. 2): 202
, 10O2
, 45616
, 10112
, 10118
, 5810
, 5816
, 588
, 1516
, 1616
, AІ9816
, 10116
, 10
, 4СF10
, 4GF16
(увага: можуть бути літери, які схожі на десяткові цифри)
; – вкажіть коректні чотирирозрядні числа: 00112
, 210FF16
, H2
O, 10218
, 022210
, H1N116,
AD1A8
, 5A11F16
, 22222
, 011018
, 17148
, 53C716
; – визначіть загальну кількість різних трирозрядних чисел, що може бути сформована за допомогою алфавітів Вирішення задачі:
Для ілюстрації вирішення поставленої задачі, із табл. 1 вибрано десяткове число 234. З врахуванням викладеного вище матеріалу, умову поставленої задачі можна скорочено зобразити наступним чином: Умова задачі:
Розглянемо декілька способів перекодування чисел з однієї системи числення в іншу. 1-й спосіб перекодування чисел
. Перекодування чисел згідно з даним способом здійснюється за допомогою ділення числа Нижче проілюстрований порядок перекодування чисел з десяткової системи числення в двійкову, вісімкову та шістнадцяткову: Умова 1:
Виконаємо дане перекодування в три етапи, при цьому початкове число на цих етапах становить 1) 234
ділимо число К
на основу m
234 8 234 16 234 117 2 232 29 8 224 14(Е) 0 116 58 2 2 24 3 10(A) а
1
=
1 58 29 2
а
2
=
а
1
=
0 28 14 2 а
1
=
а
2
=
1 14 7 2 а
3
=
0 6 3 2 а
4
=
1 2
а
5
=
1 а
7
=
1 – ознака закінчення розрахунків
а
6
=
порядок запису результату порядок запису результату Таким чином отримаємо 2-й спосіб перекодування чисел
. Перекодування чисел згідно з даним способом здійснюється за допомогою множення цифр числа
Даним способом зручно користуватися при переведенні в десяткову систему
числення з інших систем, зважаючи на те, що при цьому використовується десяткова арифметика. Виконаємо перевірку отриманих вище результатів перекодування з десяткової системи числення: Умова 2:
Перевірку здійснимо за три етапи: 1) 2) 3) Всі три результати однакові і рівні взятому із завдання числу 3-й спосіб перекодування чисел
. Даний спосіб доцільно використовувати при перекодуванні чисел між системами числення з основою Стосовно поставленої умови задачі, що вирішується, за допомогою цього способу може бути здійснено пряме перекодування числа Умова 3:
Для виконання вказаного перекодування необхідно вміти поставити у відповідність будь-якій цифрі алфавітів Таблиця 3 – Відповідність цифр алфавітів
цифри
цифри
цифра
цифра
цифра
цифра
цифра
цифра 0 000*
0 0000 8 1000 1 001 1 0001 9 1001 2 010 2 0010 A(10) 1010 3 011 3 0011 B(11) 1011 4 100 4 0100 C(12) 1100 5 101 5 0101 D(13) 1101 6 110 6 0110 E(14) 1110 7 111 7 0111 F(15) 1111 *
У більшості випадків нулі в старших розрядах двійкових чисел ігноруються (наприклад, справедлива наступна рівність 0000112
= 0112
= 112
). Таким чином, при тій чи іншій потребі, можна як додавати нулі в старші розряди, так і нехтувати зайвими нулями в старших розрядах двійкового числа. Для перекодування необхідно, починаючи з 0-го розряду (крайня цифра справа), розбити двійкове число на групи цифр по Таким чином, виконаємо перетворення з двійкової системи числення у вісімкову і шістнадцяткову та навпаки: Умова 3.1:
Такі перетворення виконуються за чотири етапи: 1) де 0112
= 38
, 1012
= 58
, 0102
= 28
(див. табл. 3 враховуючи, що 2) де 38
= 0112
, 58
= 1012
, 28
= 0102
(див. табл. 3, враховуючи, що 3) де 11102
= Е16
, 10102
= А16
(див. табл. 3 враховуючи, що 4) де Е16
= 11102
, А16
= 10102
(див. табл. 3 враховуючи, що Отримавши навички щойно розглянутого перекодування чисел можна здійснити перекодування чисел з вісімкової системи в шістнадцяткову та навпаки. Це відбувається шляхом виконання перекодування з початкової системи числення в двійкову, а потім в кінцеву систему числення. Умова 3.2:
Таким чином, перевід заданого числа Отже, здійснимо необхідні перекодування в два етапи: 1) де 38
= 0112
, 58
= 1012
, 28
= 0102
, 11102
= Е16
, 10102
= А16
(див. табл. 3). Нуль в старшому розряді двійкового числа ігнорується. 2) де Е16
= 11102
, А16
=10102
, 0112
= 38
, 1012
= 58
, 0102
= 28
(див. табл. 3). Висновок:
В процесі вирішення поставленої задачі були отримані навички перекодування натурального числа K
= 23410
між системами числення з основами m
=2, m
=8, m
=10 та m
=16, що дало наступні результати: 23410
= 111010102
= 3528
= ЕA16
. Виконана перевірка показала правильність отриманих результатів.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||