Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Системи числення, що застосовуються в ЕОМ




Як відомо, число – це величина, яка виражає кількість однорідних об’єктів. Системою числення називають визначену сукупність символів – знаків і цифр – для запису чисел, а також правил їх запису. Розрізняють позиційні і непозиційні системи числення.

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

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

Будь-яке число у позиційній системі числення можна подати у вигляді:

де q – основа системи числення; – цифри від 0 до q – 1.

Наприклад, для десяткової системи числення число 621,75 можна записати у вигляді суми:

.

Таким чином, щоб одержати значення числа, потрібно кожну цифру (розряд числа) помножити на число, яке називається вагою розряду. Вага окремих розрядів – це геометрична прогресія зі знаменником, що дорівнює основі системи числення.

В обчислювальній техніці використовують такі системи числення: двійкову, вісімкову, шістнадцяткову, десяткову, а також ДДК, який також називають двійково-десятковою системою числення. Перші три належать до класу систем з безпосереднім поданням чисел, у яких кожній цифрі відповідає окремий символ. Наприклад, у двійковій системі числення використовують тільки дві цифри – 0 і 1, у вісімковій – вісім: 0, 1, 2, 3, 4, 5, 6, 7; у десятковій – десять: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; у шістнадцятковій – шістнадцять: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Таким чином, для таких систем основа системи q дорівнює кількості різних символів, які використовують для подання цифр.

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

Двійкова система числення є основною системою подання інформації у цифрових пристроях та у ЕОМ зокрема внаслідок простоти реалізації логічних 0 і 1 у вигляді двох рівнів напруги – низького рівня (L -рівня) та високого рівня (Н -рівня). Двійкові цифри 0 і 1 називаються бітами (bit –BІnary digiT). Але двійкова система незручна для людини: внаслідок малої кількості цифр числа виходять довгими та “одноманітними”.

Десяткова система в ЕОМ використовується в пристроях введення-виведення, тобто для “спілкування” ЕОМ з людиною-оператором.

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

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

Фактично вісімкову та шістнадцяткову системи можна розглядати як «буферні» між людиною та ЕОМ – числа в цих системах порівняно легко сприймаються людиною, а їх переклад у двійкову систему, на відміну від десяткових, не викликає труднощів у ЕОМ.

ДДК призначений для кодування десяткових чисел послідовністю нулів та одиниць. Він відноситься до класу систем числення з кодованим поданням чисел. У таких системах кількість символів менша, ніж кількість цифр, а кожну цифру кодують певною комбінацією кількох символів. У цьому коді для подання кожної із десятьох цифр десяткової системи використовують перші десять чотирирозрядних двійкових чисел-тетрад від 0000 до 1001. Шість старших кодових комбінацій, що залишились, є забороненими.

Приклад: .

З прикладу видно, що, незважаючи на зовнішню схожість двійково-десяткового числа з двійковим числом, вони є різними формами подання чисел. ДДК широко використовується для подання чисел у деяких цифрових автоматах, зокрема, в аналого-цифрових перетворювачах та інших пристроях введення десяткових чисел у ЕОМ.

Запишемо двійкове число 1001001 у вигляді суми розрядів, помножених на їх вагові коефіцієнти:

.

 


Такий спосіб двійкового подання чисел часто називають натуральним кодом або кодом 8421 (назва складена з вагових коефіцієнтів розрядів двійкового числа). Він є природною формою подання двійкових чисел.

У таблиці 1.7 приведені подання десяткових чисел від 0 до 15 у різних системах числення. Ця таблиця корисна для виконання перетворення цілих чисел з однієї системи числення в іншу.

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

Таблиця 1.7

Основа системи числення
        2-10
         
         
         
         
         
         
         
         
         
         
      A 0001 0000
      B 0001 0001
      C 0001 0010
      D 0001 0011
      E 0001 0100
      F 0001 0101

 

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

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

Приклади:

1. Перетворення десяткового числа на двійкове.

_73            
  _36          
1   _18        
      _9      
        _4    
          _2  
             
             

Відповідь: 73(10) = 1001001(2).

 

2. Перетворення десяткового числа на вісімкове.

_73    
  _9  
1    
     

Відповідь: 73(10) = 111(8).

Перетворення десяткового числа на шістнадцяткове.

_73  
64  
   

Відповідь: 73(10) = 49(16).

Для переведення чисел у десяткову систему з інших систем числення доцільно користуватися таким алгоритмом: записати над розрядами вихідного числа десяткові вагові коефіцієнти цих розрядів; помножити коефіцієнти на значення розрядів (крім розрядів із нульовими значеннями); додати отримані добутки.

Приклади:

               
            1(2) = 64+8+1 = 73(10)
       
    1(8) = 64+8+1 = 73(10)

 

     
  9(16) = 64+9 = 73(10)

 

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

Для перетворення чисел із вісімкової системи числення на двійкову достатньо кожну цифру вісімкового числа подати як трирозрядне двійкове число (тріаду).

Приклад: 762(8) = 111 110 010(2).

 
 

 


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

Приклад:А7В(16) = 1010 0111 1011(2).

 
 

 

 


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

Приклади:001 111 = 17(8), 0101 1100 = 5С(16).

 

 

Переведення десяткових чисел у ДДК код і зворотне перетворення виконується аналогічно перетворенню шістнадцяткових чисел на двійкові і навпаки (із використанням двійкових тетрад).

Приклад: 735(10) = 0111 0011 0101(2-10).

 

Для чисел, що мають як цілу, так і дробову частину, переведення з однієї системи числення в іншу здійснюється окремо для цілої і дробової частин. Для перетворення правильного дробу Х, записаного у системі числення з основою p, на його еквівалент в системі числення з основою q слід послідовно множити Х на q, причому множити потрібно тільки дробові частини (метод послідовного множення). Еквівалент Х у системі числення з основою q подається у вигляді послідовності цілих частин результатів множення у порядку їхнього одержання, причому старший розряд є цілою частиною першого результату. Якщо необхідно виконати перетворення з точністю q-k, то кількість послідовних множень дорівнює k.

Наприклад, необхідно записати десятковий дріб 0,36610 з точністю 2-8 у двійковій системі числення. Для цього дробові частини заданого числа та чисел, що утворюються у результаті множення, 8 разів послідовно множимо на 2:

0,366*2 = 0,732 ціла частина 0
0,732*2 = 1,464 ціла частина 1
0,464*2 = 0,928 ціла частина 0
0,928*2 = 1,856 ціла частина 1
0,856*2 = 1,712 ціла частина 1
0,712*2 = 1,424 ціла частина 1
0,424*2 = 0,848 ціла частина 0
0,848*2 = 1,696 ціла частина 1

Результат: 0,36610 = 0,010111012.

Зворотне перетворення двійкового числа на десятковий еквівалент може бути виконано, як звичайно, множенням вагових коефіцієнтів розрядів числа на значення розрядів та додаванням отриманих добутків:

0,010111012 = 0*20 + 2-1*0 + 2-2*1 + 2-3*0 + 2-4*1 + 2-5*1 + 2-6*1 + 2-7*0 + 2-8*1=
= 0*1 + 0,5*0 + 0,25*1 + 0,125*0 + 0,0625*1 + 0,03125*1 + 0,015625*1 +
+ 0,0078125*0 + 0,00390625*1 = 0,3632812510.

Отримане число 0,3632812510 наближує задане число 0,366 з точністю 2-8 = 0,0039.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...