Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИТ.doc
Скачиваний:
283
Добавлен:
10.06.2015
Размер:
2.04 Mб
Скачать

Тема 1.4 Арифметические основы работы эвм

Компьютер является цифровым устройством, а значит, любая информация представляется в виде чисел. Для записи чисел люди используют различные системы счисления.

Под системой счисления (СС) понимается способ представления любого числа с помощью алфавита символов, называемых цифрами.

Мы используем в обычной жизни, десятичную систему счисления, когда число записывается с помощью десяти цифр (0,1,…9). В компьютере для записи чисел используется двоичная СС, т.е. любое число записывается в виде сочетания двух цифр – 0 и 1. Двоичные числа проще организовать технически: 0 - нет сигнала, 1 –есть сигнал.

И десятичная СС, и двоичная СС относятся к позиционным СС, т.е. значение цифры зависит от ее расположения в записи числа. Например, два числа 456 и 654 состоят из одних и тех же символов, но обозначают разное количество, т.к. они занимают разные позиции. Любая позиционная СС характеризуется основанием. Основание СС показывает, сколько различных символов используется в данной системе счисления. Для выполнения различных арифметических операций в ЭВМ используются двоичная, восьмеричная и шестнадцатеричная системы счисления. Шестнадцатеричная и восьмеричная СС используются при составлении программ на языке машинных кодов.

В общем случае все позиционные СС можно представить в виде полинома:

(1)

Где p – основание системы счисления;

- последовательность цифр, соответствующих n, n-1, … -m разрядам;

- весовые коэффициенты этих разрядов.

Для десятичной СС p= 10, весовые коэффициенты разрядов - 101010… 1010

Пример: 456,7810 = 4∙10² + 5∙10¹ + 6∙10º +7∙10-¹ + 8∙10-²

Для двоичной СС p= 2 (цифры 0 и 1);

восьмеричной CC- p= 8 (цифры 0 – 7);

шестнадцатеричной CCp = 16 (помимо десяти цифр, используются шесть букв латинского алфавита: A, B, C, D, E, F.)

Соответствие между системами счислений задается таблицей:

Десятичное число

Двоичное число

Восьмеричное число

Шестнадцатеричное число

0

0000

0

0

1

0001

1

1

2

0010

2

2

3

0011

3

3

4

0100

4

4

5

0101

5

5

6

0110

6

6

7

0111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

Задача перевода чисел из одной системы счисления в другую часто встречается при программировании и особенно часто при программировании на языке Ассемблера. Рассмотрим правила переводов чисел:

Перевод чисел из десятичной СС в любую другую систему счисления осуществляется отдельно для целой и дробной части числа:

- целая часть числа последовательно делится на основание системы счисления, в которую осуществляется перевод до тех пор, кока последнее частное не станет меньше основания СС. Полученные от деления остатки - это символы новой СС. Запись нового числа осуществляется с последней цифры остатка.

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

Пример: переведем число 134, 75 10 в двоичную СС.

Целая часть: Дробная часть:

134/2_____ 0,75

13467 / 2 * 2

0 66 33/ 2 1, 5

1 32 / 16/ 2 * 2

1 16 / 8 / 2 1, 0

0 8 4 /2

0 4 2/2

0 2 1

0

Результат перевода: 134,7510 = 10000110,112

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

Пример:

437, 528= 100 011 111, 101 0102

8FA2, 5Е16 = 1000 1111 1010 0010, 0101 11102

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

Пример:

101 011 001, 100 1012 = 531, 458

1010 0111 1000, 1100 00012= А78,С116

Перевод чисел из системы счисления с любым основание в десятичную СС осуществляется по формуле (1).