Автор: Пользователь скрыл имя, 26 Марта 2011 в 10:09, лабораторная работа
Мета: Отримати навички переведення натуральних чисел між системами числення з різними основами.
Завдання:
Згідно номера по списку в журналі викладача необхідно вибрати десяткове число K із табл. 1.
Таким чином отримаємо = 23410= 111010102 = 3528 = EA16.
2-й спосіб перекодування чисел.
Перекодування чисел згідно з даним способом здійснюється за допомогою множення цифр числа на основу системи числення в степені, що відповідає розряду кожної цифри в числі , тобто:
(4)
Даним способом зручно користуватися при переведенні в десяткову систему числення з інших систем, зважаючи на те, що при цьому використовується десяткова арифметика.
Виконаємо перевірку отриманих вище результатів перекодування з десяткової системи числення:
Умова 2: = 111010102 = 3528 = EA16, .
Перевірку здійснимо за три етапи:
1) = 111010102,
2) = 3528,
3) = EA16,
Всі три результати однакові і рівні взятому із завдання числу = 23410. Це свідчить, що пряме перекодування чисел, що було виконано першим способом, дало правильні результати.
3-й спосіб перекодування чисел.
Даний спосіб доцільно використовувати при перекодуванні чисел між системами числення з основою , де (тобто основи систем, з якої і в яку переводиться число, повинні бути кратні 2).
Стосовно поставленої умови задачі, що вирішується, за допомогою цього способу може бути здійснено пряме перекодування числа попарно між двійковою, вісімковою та шістнадцятковою системами, а також виконано перевірку отриманих результатів.
Умова 3: = 111010102, .
Для виконання вказаного перекодування необхідно вміти поставити у відповідність будь-якій цифрі алфавітів та деяку послідовність цифр алфавіту . З цією метою далі приведена табл. 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. Аналогічним чином відбувається зворотне перекодування чисел.
Таким чином, виконаємо перетворення з двійкової системи числення у вісімкову і шістнадцяткову та навпаки:
Умова 3.1: = 111010102, .
Такі перетворення виконуються за чотири етапи:
1) = 111010102, (пряме перекодування).
,
де 0112 = 38, 1012 = 58, 0102 = 28 (див. табл. 3 враховуючи, що 8 та =3).
2) = 3528, (перевірка результату першого етапу).
,
де 38 = 0112, 58 = 1012, 28 = 0102 (див. табл. 3, враховуючи, що 8 та =3).
3) = 111010102, (пряме перекодування).
,
де 11102 = Е16, 10102 = А16 (див. табл. 3 враховуючи, що 16 та =4).
4) = ЕА16, (перевірка результату третього етапу).
,
де Е16 = 11102, А16 = 10102 (див. табл. 3 враховуючи, що 16 та =4).
Отримавши навички щойно розглянутого перекодування чисел можна здійснити перекодування чисел з вісімкової системи в шістнадцяткову та навпаки. Це відбувається шляхом виконання перекодування з початкової системи числення в двійкову, а потім в кінцеву систему числення.
Умова 3.2: = 3528, .
Таким чином, перевід заданого числа = 3528 з вісімкової системи в шістнадцяткову вимагатиме виконання спочатку другого, а потім третього етапів вирішення щойно розглянутої умови 3.1. Для зворотного перекодування, в свою чергу, потрібно здійснити четвертий та перший етапи вирішення цієї ж умови.
Отже,
здійснимо необхідні
1) = 3528, (пряме перекодування).
,
де 38 = 0112, 58 = 1012, 28 = 0102, 11102 = Е16, 10102 = А16 (див. табл. 3).
Нуль в старшому розряді двійкового числа ігнорується.
2) = ЕА16, (перевірка результату першого етапу).
,
де Е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. Виконана перевірка показала правильність отриманих результатів.
Информация о работе Перетворення кодів з однієї системи числення в іншу