Представлення інформації в мікропроцесорних засобах Системи числення

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ПОДАННЯ ІНФОРМАЦІЇ В МІКРОПРОЦЕСОРНИХ ЗАСОБАХ. Система числення

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

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

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

Малюнок 1.1 - Перетворення безперервної функції

Цифрові ЕОМ використовують дискретні повідомлення. При цьому перехід від безперервного подання сигналу до дискретного дає значні переваги при передачі, зберіганні та обробці інформації. Для цих цілей широко використовуються аналого-цифрові перетворювачі, які здійснюють квантування сигналу за рівнем і за часом. У першому випадку значення рівня сигналу замінюються набором дискретних значень з точністю ΔX (рис. 1.1), у другому - безперервний сигнал заміняється послідовністю імпульсів тривалістю τ 0, наступних через інтервали часу Δt,

де Fm - максимальна складова частоти в спектрі безперервного сигналу.

Сукупність усіх вибірок утворює дискретний або цифровий сигнал. У цифровій техніці такий процес називається кодуванням, а сукупність отриманих чисел - кодом сигналу. Для запису чисел цифровими знаками використовуються позиційні системи числення.

Поняття про системи числення. У загальному випадку система числення представляє собою сукупність прийомів і правил для запису чисел цифровими знаками (символами). При цьому застосовується у практиці система числення повинна забезпечувати: запис будь-якого числа в потрібному діапазоні величин; однозначне уявлення сукупності символів відповідно до числа; простоту оперування цифровими знаками.

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

Наприклад, запис XV відповідає числу 15 (X - десять, V - п'ять), а запис IX - числу дев'ять.

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

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

Будь-яка позиційна система числення характеризується підставою. Підстава (базис) - число знаків або символів, використовуваних для представлення цифр в даній системі. Можливо незліченна безліч позиційних систем, так як за основу можна прийняти будь-яке число, утворивши нову систему. У обчислювальній техніці, наприклад, широко використовуються шістнадцяткова система числення, запис чисел якої проводиться за допомогою цифр і символів (букв): 0, 1 ,..., 9, A, B, C, D, E, F.

Для позиційної системи числення справедливо рівність

(1.1)

де N - довільне число, записане в системі числення з основою q;

a - цифри системи числення;

n, m - число цілих і дробових розрядів.

Так, наприклад, скороченої запису числа 737.25 відповідає його значення, обчислене згідно рівності (1. 1):

737.25 = 7 · 10 2 + 3 · 10 1 + 7 · 10 0 + 2 · 10 -1 + 5 · 10 -1.

У двійковій системі числення для подання чисел використовуються дві цифри: 0 і 1. Діючи згідно з (1.1), значення двійкового числа, наприклад, 11110010. 0110 можна представити в наступному вигляді:

11110010.0110 = 1.2 7 + 1.2 6 + 1.2 5 + 1.2 4 + 0.2 3 + 0.2 2 + 1.2 1 + 0.2 0 + 0.2 -1 + 1 · 2 -2 + 1.2 -3 + 0.2 -4.

Очевидно, десятковий еквівалент цього двійкового числа (за правилами десяткової арифметики) буде дорівнює 241. 375.

У табл. 1.1 наведені еквіваленти десяткових цифр у деяких системах числення.

Таблиця 1.1 - Еквіваленти десяткових цифр

Десяткова цифра

Еквіваленти в системах числення

Десяткова цифра

Еквіваленти в системах числення


q = 2

q = 8

q = 16


q = 2

q = 8

Q = 16

0

0

0

0

8

1000

10

8

1

1

1

1

9

1001

11

9

2

10

2

2

10

1010

12

A

3

11

3

3

11

1011

13

B

4

100

4

4

12

1100

14

C

5

101

5

5

13

1101

15

D

6

110

6

6

14

1110

16

E

7

111

7

7

15

1111

17

F

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

Нехай довжина розрядної сітки дорівнює будь-якому позитивному числу, наприклад, числу К. Тоді

N (q) max = q k - 1. (1.2)

Якщо ж задано максимальне абсолютне значення числа, то довжина розрядної сітки

K = log q (N (q) max = 1). (1. 3)

Зазвичай довжина оброблюваних чисел у ЦВМ обмежена значеннями: 1 байт (8 розрядів), 2 байти (16 розрядів), а також 4 і 8 байт.

Перетворення чисел з різними підставами. Для перекладу цілих чисел або цілих частин неправильних дробів із системи числення з основою q 1 в нову систему числення з основою q 2 використовується метод, який базується на розподілі перекладного числа на основу нової системи числення. Відповідно до (1.1) ціле число N (q1) у системі з основою q 2 записується у вигляді:

N (q 2) = b n-1 q 2 n-1 + b n-2 q 2 n-2 + ... + b 1 q 1 лютого + b 0 q 2 0. (1. 4)

Представляючи (1.4) за схемою Горнера, отримаємо:

N (q 2) = (... (((b n-1 q 2 + b n-2) q 2 + b n-3) q 2 ... + b 1) q 2 + B 0). (1. 5)

Запис числа N (q 2) у вигляді (1.5) розкриває сутність використовуваного методу. Дійсно, якщо розділити праву частину (1.5) на величину підстави q 2, то отримаємо цілу частину (... (b n-1 q 2 + b n-2) q 2 + ... b 1) і залишок b 0. Розділивши цілу частину на q 2, знайдемо другого залишок b 1.

Повторюючи процес розподілу n разів, знаходимо останнє приватне b n-1, яка відповідно до (1.5) є старшою цифрою n розрядного числа, представленого в системі з основою q 1. Переклад чисел арифметичними діями повинен проводитися за правилом системи числення з основою q 1 .

Приклад 1.1 Перекласти десяткове число N = 134 в двійкову систему числення (q 2 = 2)

Хід вирішення наведено в табл. 1. 2.

Таблиця 1. 2 - Переклад десяткового числа

Кроки

Операція ділення

Приватне

Залишок (цифра)

Розряд

Примітка

1

134:2

67

0

b 0

Молодший розряд

2

67:2

33

1

b 1


3

33:2

16

1

b 2


4

16:2

8

0

b 3


5

8:2

4

0

b 4


6

4:2

2

0

b 5


7

2:2

1

0

b 6


8

1:2

0

1

b 7

Старший розряд

Відповідь: N = b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 = 10000110 1.

При перекладі правильних дробів із системи числення з основою q 1 в систему числення з основою q 2 використовується метод, який базується на множенні переводиться правильний дріб на основу q 2 нової системи числення. Правильну дріб N (q 1) у системі з основою q 2 можна представити наступним виразом:

N (q 2) = b -1 q 2 -1 + b -2 q 2 -2 + ... + b-m q 2-m. (1.6)

За схемою Горнера (1.6) можна представити у вигляді:

N (q 2) = q 2 -1 (b -1 + q 2 -1 (b -2 + ... + q 2 -1 (b - (m-1) + q 2 -1 b-m) ...)) . (1.7)

Якщо праву частину виразу (1.7) помножити на q 2, то можна знайти неправильну дріб, в цілій частині якої буде число b -1. Частину, що залишилася дробову частину варто далі помножити знову на q 1. В отриманій дробу ціла частина представить собою b -2 і т.д. Таким чином, m - кратне множення дозволяє знайти всі m цифр дробової частини числа в новій системі числення. Всі дії виконуються за правилами q 1-арифметики. У результаті описаних операцій в цілій частині виходять дробів будуть отримані еквіваленти цифр в новій системі числення.

Приклад 1.2. Привести десяткову дріб N = 0.34375 у двійкову систему числення (q = 2).

Операції перекладу наведено в табл. 1.3.

Таблиця 1.3 - Переклад дробового числа

Кроки

Операція множення

Твір

Ціла частина (цифра)

Розряд

Примітка

1

2 * 0.34375

0.6875

0

b -1

Старший розряд

2

2 * 0.6875

1.375

1

b -2


3

2 * 0.375

0.75

0

b -3


4

2 * 0.75

1.5

1

b -4


5

2 * 0.5

1.0

1

b -5

Молодший розряд

Відповідь: N (2) = 0. b -1 b -2 b -3 b -4 b -5 = 0. 01011.

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

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

Для зручності перетворення двійкових чисел в десяткові приведемо значення ваги деяких розрядів (позицій) двійкової системи числення в межах b 15 ... b -6 (див. табл. 1.4).

Таблиця 1.4 - Ваги розрядів двійкового числа

Лютого 1915

14 лютого

Лютий 1913

Лютий 1912

11 лютого

Лютого 1910

9 лютого

2 серпня

2 липня

2 червня

5 лютого

32768

16384

8192

4096

2048

1024

512

256

128

64

32

2 квітня

2 Березня

2 лютого

2 Січень

2 0

2 -1

2 -2

2 -3

2 -4

2 -5

2 -6

16

8

4

2

1

0.5

0.25

0.125

0.0625

0.03125

0.015625

Приклад 1.3 Перевести двійкове число N (2) = 1101. 0101 на десяткове

Як і раніше, хід розв'язання відобразимо за допомогою табл. 1. 5.

Таблиця 1.5 - Переклад дробового числа

Кроки

Двійкове число (код)

Вага двійкового розряду

Проміжні значення


1

1

0

1

0

1

0

1



1








2 -4

0,0625

1 * 0,0625 = 0,0625

2







2 -3


0,125

0 * 0,125 = 0

3






2 -2



0,25

1 * 0,25 = 0,25

4





2 -1




0,5

0 * 0,5 = 0

5




2 0





1,0

1 * 1,0 = 1,0

6



2 Січень






2,0

0 * 2,0 = 0

7


2 лютого







4,0

1 * 4,0 = 4,0

8

2 Березня








8,0

1 * 8,0 = 8,0


Σ (10) = 13. 3125

Відповідь: десятковий еквівалент дорівнює сумі проміжних значень N 10 = 13. 3125.

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

Шістнадцяткові числа. Шістнадцяткова система числення (Н-код походить від hexadecimal), система з основою 16 використовує символи від 0 до F. Така форма числа зручна для запису, запам'ятовування і введення із клавіатури. Компактність досягається шляхом поділу біт двійкового числа на тетради (4 біт) і тоді число комбінацій складе 2 = 16.

Приклад 1.4 Уявити двійкове число N 2 = 110 010 111 010 шістнадцятковим N 16 або NH, де Н вказує на приналежність системи числення до шістнадцятковій.

Рішення: треба почати з молодшого біта (МБ) і розділити двійкове число на групи з чотирьох біт. Потім ці групи замінити еквівалентною шістнадцятковій цифрою. Перша група 1010 = А, друга - 1011 = В, третя - 100 = С, отже, результат:

1010 1011 1100 = СВА 16 або в Н-коді СВАН.

Оскільки зворотні перетворення в розглянутому прикладі не зустрічають труднощі, то розглянемо перетворення чисел з D-коду (десяткового) в Н-код і назад.

Приклад 1.5 Перетворити десяткове дробове число в Н-код.

Рішення представимо у двох частинах: окремо для цілої частини і для дробової.

У першому випадку скористаємося методикою, закладеної в табл. 1.2, проробимо для N = 634. 328125 наступні нескладні процедури (рис. 1.2).

мл. розряд

Крок 1. 634: 16 = 39, залишок жовтня 1910 = А 16

Крок 1. 39: 16 = 2, залишок липня 1910 = 16 липня

ст. розряд

Крок 3. 2: 16, залишок лютому 1910 = лютого 1916

634 10 = 2 7 А 16

Малюнок 1.2 - Десяткове-шістнадцяткове перетворення цілої частини числа

Для перетворення дробової частини скористаємося схемою операцій, наведених у табл. 1.3. А саме, поетапно (рис. 1.3):

Крок 1. 16 · 0. 328125 = 5.25 ціла частина "5" ст. розряд


Крок 1. 16 · 0. 25 = 4. 0 ціла частина "4" мл. розряд

0,328125 = 0. 4 Травня

Малюнок 1.3 - Десяткове-шістнадцятковий переклад дробової частини числа

Приклад 1.6 Зворотне перетворення шістнадцяткового числа на десяткове: N 16 = 5CBA. 27.

Ціла частина числа в табл.1.6 отримала свій десятковий еквівалент у вигляді N 10 = 23738.

Таблиця 1.6 - Перетворення шістнадцяткового числа на десяткове

Ступінь позиції

16 березня


16 лютого


16 січня


16 0

Результат

Значення позиції

4096


256


16


1


Н-код

5


З


У


А



4096


256


16


1



*


*


*


*



5


12


11


10


D-код

20480

+

3072

+

176

+

10

= 23738 16

Кілька спростивши запис в порівнянні з табл. 1.6, дробову частину Н-коду можна обчислити за такою схемою, пам'ятаючи, що 16 = 0.0625, а 16 ≈ 0. 0039:

Н-код 0. 2 липня

Вага позицій 1916 -1 16 -2 7.0, 0039 = 0. 0273

2.0, 0625 = 0.1250

сума дробової частини = 0. 1523 10

Тоді результат визначається перетворення дорівнює 5CBA.27H = 23738.1523D.

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

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

Двійково-десяткові числа. З метою зручності перетворення чисті двійкові числа представляються десятковими або шестнадцатерічнимі. Хоча двійково-десяткове перетворення є не простою операцією, у калькуляторах і числових приладах використовують спеціальний двійково-десятковий код (DDK), коли на доступних користувачеві виходах і входах використовуються десяткові числа. При використанні двійкових чисел для кодування десяткових даних необхідно мати можливість представляти цифри від 0 до 9, тобто для зображення цифри 9 гранично потрібно 4 біт для групи 1 001 1. Однак всі 4-розрядні двійкові числа, що перевищують 1001 2, неприпустимі в DDK. Щоб звільнити користувача від подібних перетворень, в системній програмі ЕОМ передбачається спеціальна команда "Десяткова корекція", що забезпечує переповнення 4-розрядного регістра при N 10 = 10 шляхом додавання числа 0110 2 (+6 10).

Приклад 1.7. Провести операції перетворення десяткового числа (D-коду) у DDK, а потім записати десятковий еквівалент (обернена задача).

Рішення. Нехай маємо справу з десятковим числом 3579 10. Кожна цифра числа перетвориться просто в свій двійково-десятковий еквівалент з 4 біт, в результаті отримуємо:

Десяткове число 3 5 7 9

Двійково-десяткове число 0011 0101 0111 100 1

Відповідь: 3579 10 = 0011 0101 0111 1001 (2-10К).

Вирішимо зворотний завдання для DDK у вигляді: 1000 0010 0110 0000.

Рішення. Кожна група з 4 біт прямо переводиться в її десятковий еквівалент:

DDK 1000 0010 0110 0000

D-код 2 серпня 6 0

Відповідь: 1000 0010 0110 0000 (2-10К) = 8260D.

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

Література

  1. Кібернетика - основа наук - під ред. проф. Карул К.В. - К. - 2009 р.

  2. Основи мікропроцесорних числень - під ред. Моза Г.М. - М. - 2007 р.

    Додати в блог або на сайт

    Цей текст може містити помилки.

    Програмування, комп'ютери, інформатика і кібернетика | Контрольна робота
    64.3кб. | скачати


    Схожі роботи:
    Одиниці виміру інформації Системи числення
    Представлення сексуальних меншин в засобах масової комунікації
    Позиційні системи числення Двійкова система числення
    Революція в засобах поширення інформації
    Реклама в засобах масової інформації
    Представлення та кодування інформації
    Представлення інформації в ЕОМ
    Особливості мовлення в засобах масової інформації
    Передвиборна агітація у засобах масової інформації
    © Усі права захищені
    написати до нас