Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3.ПТЦА.doc
Скачиваний:
23
Добавлен:
15.09.2019
Размер:
579 Кб
Скачать
☆

2. Двійкова арифметика (виконання операцій додавання, віднімання, множення і ділення в 2-сч).

7. Основні властивості двійкових чисел. Правила «швидкого рахунку». Двійкова арифметика

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

0+0=0 0+1=1 1+0=1 1+1=102 (додавання нуля не міняє числа, а один плюс один буде два).

Таблиця множення 0∙0=0 0∙1=0 1∙0=0 1∙1=1 (число, помножене на нуль, є нуль; множення на один не міняє числа).

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

1011012 - 1 доданок

+ 101002 - 2 доданок

10000012 - сума

Перевіримо правильність наших обчислень:

1011012=1∙25+0∙24+1∙23+1∙22+0∙21+1∙20=32+0+8+4+0+1=4510

101002=1∙24+0∙23+1∙22+0∙21+0∙20=16+0+4+0+0=2010

4510+2010=6510

10000012=1∙26+0∙25+0∙24+0∙23+0∙22+0∙21+1∙20=64+0+0+0+0+0+1=6510

Віднімання

0-0=0 1-0=1 1-1=0 102-1=1

Знайдемо: 1110101112-11000012

1110101112

- 11000012

1011101102

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

111012∙11012

111012 - множник

11012 - множник

11101 - множене

+11101 - множене, зсунуте на 2 розряди вліво

11101 - множене, зсунуте на 3 розряди вліво

1011110012 - добуток

Перевірка:

111012=1∙24+1∙23+1∙22+0∙21+1∙20=16+8+4+1=2910

11012=1310; 29∙13=37710

1011110012=1∙28+0∙27+1∙26+1∙25+1∙24+1∙23+0∙22+0∙21+1∙20=256+0+64+32+16+8++0+1=37710 .

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

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

Приклад: 11011112∙1011012

11011112

1011012

1101111

1101111

1101111

1101111 ­­__

10011100000112

3. Шістнадцяткова сч. Шістнадцяткова арифметика.

Представим, что необходимо просмотреть содержимое некотоpых байт в

памяти (это встретится в следующей главе). Требуется oпределить содержимое

четырех последовательных байт (двух слов), которые имеют двоичные

значения. Так как четыре байта включают в себя 32 бита, то специалисты

разработали "стенографический" метод представления двоичных данных. По

этому методу каждый байт делится пополам и каждые полбайта выражаются

соответствующим значением. Рассмотрим следующие четыре байта:

Двоичное: 0101 1001 0011 0101 1011 1001 1100 1110

Десятичное: 5 9 3 5 11 9 12 14

Так как здесь для некоторых чисел требуется две цифры, расширим

систему счисления так, чтобы 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. таким

образом получим более сокращенную форму, которая представляет содержимое

вышеуказанных байт:

59 35 B9 CE

Такая система счисления включает "цифры" от 0 до F, и так как таких

цифр 16, она называется шестнадцатиричным представлениeм.

Шестнадцатиричный формат нашел большое применение в языке ассемблера.

В листингах ассемблирования программ в шестнадцатеричном формате показаны

все адреса, машинные коды команд и содержимое констант. Также для отладки

при использовании программы DOS DEBUG адреса и содержимое байтов выдается

в шестнадцатиричном формате.

Если немного поработать с шестнадцатиричным форматом, то можно быстро

привыкнуть к нему. рассмотрим несколько проcтых примеров шестнадцатиричной

арифметики. Следует помнить, что после шестнадцатиричного числа F следует

шестнадцатиричное 10, что равно десятичному числу 16.

6 5 F F 10 FF

4 8 1 F 10 1

- - -- -- -- ---

A D 10 1E 20 100

Заметьте также, что шест.20 эквивалентно десятичному 32, шест.100 -

десятичному 256 и шест.100 - десятичному 4096.

В данной книге шестнадцатиричные числа записываются, например, как

шест.4B, двоичные числа как дв.01001011, и десятичные числа, как 75

(отсутствие какого-либо описания предполагает десятичное число).

Исключения возможны, когда база числа очевидна из контекста. Для индикации

шест. числа в ассемблерной программе непосредственно после числа ставится

символ "H", например, 25H (десятичное значение 37). Шест. число всегда

начинается с деcятичной цифры 0-9, таким образом, B8H записывается как

0B8H.

В прил.2 показано как преобразовывать шестнадцатиpичные значения в

десятичные и обратно. Теперь расcмотрим некоторые характеристики

процессора PC, которые необxодимо понять для перехода к гл.2.

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