Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Tema_1_1_Lektsiya_1

.doc
Скачиваний:
2
Добавлен:
11.11.2019
Размер:
88.58 Кб
Скачать

Розділ 1. Основи двійкової арифметики

Тема 1.1. Подання чисел з фіксованою комою в розрядній сітці

Представлення чисел з фіксованою комою

Зображення числа має постійну розрядність, а положення коми фіксується в визначеному місці відносно розрядів числа [або перед старшим розрядом(рис.1.) або після молодшого(рис.2.)]

Вірний дріб -1<[AФ]<1, то А=[AФА

Діапазон чисел від ±(1-2-31) до ±2-31

“0”(“+”)→

Знак,

2-1

2-2

2-3

2-4

… … … … …

2-31

“1”(“-”)→

0

1

2

3

4

… … … … …

31

Рис.1. Числа, які менші одиниці

0.111…1=1-2-31 – найбільше позитивне число

0.000…1=2-31 – найменше позитивне число

Діапазон чисел 1≤|x|≤231-1

“0”(“+”)→

Знак

230

229

228

227

… … … … …

20 ,

“1”(“-”)→

0

1

2

3

4

… … … … …

31

Рис.2. Тільки цілі числа

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

Використання чисел з фіксованою комою дозволяє спростити схеми ЕОМ, підвищити її швидкодію, але створює труднощі при програмуванні.

Розглянемо задачу вибору коефіцієнту КА. Нехай маємо цифровий автомат з розрядною сіткою 12 двійкових розрядів.

0,

1

2

3

4

5

6

7

8

9

10

11

Потрібно визначити КА для числа А1=-1011,0111110 та А2=0,110001101

Щоб виконувалась умова -1<[AФ]<1, потрібно А1 записати так -0,10110111110*24; тобто [A1]=1,10110111110 , КА=24.

КА1= КА2, щоб число А2 було розміщено у 12-розрядній сітці, тобто А2=+0,0000110001101 або [A2]=0,00001100011

А1

1,

1

0

1

1

0

1

1

1

1

1

0

А2

0,

0

0

0

0

1

1

0

0

0

1

1

0

1

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

Кодування знаків і від’ємних чисел

В ККС доцільно представляти знаки за допомогою тих самих символів, які вже використовуються для представлення самого числа в системі числення з основою k. Для цього виділяють додатковий розряд, який має назву знаковий, його зазвичай розміщують зліва віл старшого розряду числа.

Будемо позначати знакові розряди чисел X, Y, Z, … як x0, y0, z0, … та відділяти їх крапкою від цілого числа та комою від дробового числа.

Приклад 1. У 2й та 2-10й системах числення знак “-” позначається як “1”, тобто х0=1, а знак “+” як “0”, тобто х0=0.

Х→1.101102;

Y→0.10012;

Z→0,101,0112

Алгоритми виконання операцій додавання і віднімання в позиційній системі однорідній системі числення з основою k відповідає відповідним алгоритмам в звичайній десятковій системі числення.

Результати операцій додавання / віднімання цифр х та у в одному розряді представляються двома цифрами:

  • цифрою q результат операції у даному розряді;

  • цифрою р перенесення в старшому розряді.

Правила формування цифр q та р для будь-якого k можна записати наступним чином.

а) для додавання

б) для віднімання

q = {

x + y, якщо х + у < k

q = {

x - y, якщо х ≥ у

х + у – k, якщо х + у ≥ k

k + ху, якщо х < у

р = {

0, якщо х + у < k

р = {

0, якщо х ≥ у

1, якщо х + у ≥ k

- 1, якщо х < у

Функції q (x, y) та р (х, у) для операцій додавання/віднімання для k =2 можна представити за допомогою наступної таблиці:

а) додавання

б) віднімання

q (x, y)

р (х, у)

q (x, y)

р (х, у)

Y

Y

Y

Y

Х

0

1

Х

0

0

Х

0

1

Х

0

1

1

0

0

1

1

0

0

0

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

Прямий код.

Вираз для створення прямого коду двійкового числа X = 0, α1, α2, α3 ... αn має вигляд:

х, якщо х ≥ 0

Хпр =

1 – х, якщо х ≤ 0

Приклад 2. Х1 = + 0,1101, Хпр = 0,1101

Х2 = -0,10101, Хпр = 1- (0,10101) = 1,10101

Прямий код використовують для зберігання чисел в ЗП, в пристроях вводу/виводу, а також при виконанні операцій множення.

Обернений код. Вираз для створення цього коду такий

х, якщо х ≥ 0

Хоб =

10 + х – 10 n, якщо х ≤ 0

Приклад 3. Х = - 0,100110

Хоб. = 10 – 0,100110 – 0,000001 = 1,011001

Порівнюючи число X з його Хоб, можна вивести таке правило: щоб записати від'ємне число в оберненому коді, потрібно у знаковому розряді цього числа поставити „1", а у числових розрядах „0", замінити на „1", а „1" на „0".

Приклад 4. Х = 0,110110, Хоб = 0,110110

Отже, для додатних чисел X = Хоб

Додатковий код. Вираз для створення додаткового коду двійкового числа X:

х, якщо х ≥ 0

Хдод =

10 + х, якщо х < 0

Приклад 5. X = -0,101010, Хдод = 10 + (- 0,101010) = 1,010110

Порівнюючи число X з його Хдод. Можна вивести правило: щоб записати від'ємне число у додатковому коді потрібно його записати спочатку у оберненому коді, а потім до молодшого розряду отриманого результату дописати „1".

Для додатних чисел X = Хдод

Зворотній та додатковий коди використовуються для заміни операцій віднімання операцією додавання. Що спрощує пристрій арифметичного блоку ЕОМ.

Додавання та віднімання чисел з фіксованою комою

Алгоритм додавання / віднімання чисел з фіксованою комою у прямих та додаткових кодах розглянемо на прикладах.

Приклад 6. х = ±15, у = ±7

а) х + у

Хпрм=

Хдкм=

+

00,01111

=+15

Упрм=

Удкм=

00,00111

=+7

Z

=

00.10110

=+22

b) х - у

В ідкидається

.

. . . . . .

Хдкм=

+

00,01111

=+15

Удкм=

11,11001

=-7

Zдкм=

00,01000

=+8

с) - х + у ;

Хдкм=

+

11,10001

=-15

Удкм=

00,00111

=+7

Zдкм=

11.11000

Zпкм=11.01000=-8

d) -x - y

Хдкм=

+

11,10001

=+15

Удкм=

11,11001

=+7

Zдкм=

11.01010

Zпкм=11.10110=-22

Домашнє завдання

  1. Представити в форматі з фіксованою комою наступні числа:

А) Х=@+12

Б) У= @+25

де @ - порядковий номер по журналу, або останні дві цифри студентського квитка.

  1. Виконати арифметичні операції додавання/віднімання у прямому, оберненому та додатковому кодах:

А) Х+У

Б) Х-У

В) –Х+У

Г) –Х-У

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]