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

Автор: Пользователь скрыл имя, 26 Марта 2011 в 10:09, лабораторная работа

Краткое описание

Мета: Отримати навички переведення натуральних чисел між системами числення з різними основами.

Завдання:

Згідно номера по списку в журналі викладача необхідно вибрати десяткове число K із табл. 1.

Файлы: 1 файл

Лабораторная работа №2 (15.03.10) без ответов.doc

— 443.50 Кб (Скачать)

    Таким чином отримаємо = 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. Виконана перевірка показала правильність отриманих результатів.

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