Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИУС методичка.doc
Скачиваний:
53
Добавлен:
30.03.2016
Размер:
527.36 Кб
Скачать

Формы представления чисел в машине.

В зависимости от назначения и конструкции ЭВМ в них применяются две формы представления чисел – естественная и нормальная.

В естественной форме число записывается в виде набора значащих цифр без указания весов и знаков сложения между ними.

24,375 – естественная форма представления числа.

В нормальной форме число имеет две составляющие – порядок и мантиссу.

24,375 = 102 х 0,24375

10 – основание СС

2 – порядок

0,24374 – мантисса

В естественной форме положение запятой строго фиксировано. Такие числа называются числами с фиксированной точкой (запятой). Машины, работающие с такими числами, называются машинами с фиксированной точкой.

В нормальной форме положение запятой в машине определяется только величиной порядка. Поэтому числа в нормальной форме называются числами с плавающей точкой, а машины, работающие с такими числами – машинами с плавающей точкой.

В ЭВМ длина числа определяется длинной разрядной сетки, т.е. тем количеством разрядов, которое отводится для представления числа.

Пусть для представления числа отводится 9 разрядов.

В машинах с фиксированной точкой:

номера разрядов

1 2 3 4 5 6 7 8 9

знак целая дробная часть

часть

В машинах с плавающей точкой:

1 2 3 4 5 6 7 8 9

знак порядок знак мантисса

порядка числа

Знаки чисел кодируются следующим образом:

«+» 0; «-« 1.

Кодирование чисел в машине

Таблица двоичного сложения.

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 = 1 – единица переноса в старший разряд

Таблица двоичного вычитания.

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

0 – 1 = 1 1 – заем единицы из старшего разряда

Для кодирования чисел в ЭВМ применяются прямые, обратные и дополнительные коды.

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

+ 8 = 0.1000

- 8 = 1.1000

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

- 17D = 1 10001B = 1.10001B – прямой код

1.01110B – обратный код

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

- 17D = 1.10001B – прямой код

1.01110B – обратный код

1.01111B – дополнительный код

Для получения прямого кода из дополнительного возможны два варианта:

1. из исходного кода вычесть 1 из младшего разряда, затем проинвертировать все разряды, кроме знакового.

2. проинвертировать все разряды, кроме знакового, затем прибавить 1 к младшему разряду.

Запомнить правило:

Для положительных целых чисел прямой, обратный и дополнительный коды совпадают.

Сложение чисел в машинах с фиксированной точкой

При сложении возможны четыре случая.

1. A1>0; A2>0; S>0.

А1 = + 21D = 0.10101B

А2 = + 5D = 0.00101B

Т.к. оба операнда положительные, то все три кода совпадают.

0.10101

+ 0.00101

0.11010S = 26

2. A1>0; А2<0; S>0

А1 = +21 = 0.10101 0.10101

А2 = -5 = 0.00101 прямые коды 1.11010 обратные коды

0.10101

+ 1.11010

10.01111

циклический перенос

0.10000 S = +16

0.10101 0.10101

1.11011 дополнительные коды + 1.11011

1 0.10000S= 16

отбрасывается

3. А1 <0; А2>0; S<0

А1 = -21 = 1.10101 1.01010

А2 = +5 = 0.00101 прямые коды 0.00101 обратные коды

1.01010

+ 0.00101

1.01111 – обратный код суммы

1.10000 - прямой код суммы S = -16

1.01011

0.00101 дополнительные коды

1.01011

+ 0.00101

1.10000 – дополнительный код суммы

1.10000 – прямой код суммы S = -16

4. А1 <0; А2 <0; S<0

А1 = -5; А2 = -21

1.01010 1.01010

1.11010 обратные коды + 1.11010

1 1.00100

1.00101 – обратный код суммы

1.11010 – прямой код суммы S= -26

1.01011 1.01011

1.11011 дополнительные коды + 1.11011

1 1.00110 - дополнительный код

отбрасывается суммы S = -26

При сложении двух операндов с одинаковыми знаками может образоваться сумма противоположного знака.

0.10101

+ 0.10101

1.01010 - при сложении положительных операндов образовалась

отрицательная сумма

Такое явление называется переполнением разрядной сетки. Переполнение может произойти только при сложении операндов с одинаковыми знаками.

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

Возможные комбинации в знаковых разрядах модифицированных кодов:

00 – разрешенная комбинация (признак положительного числа)

01 – запрещенная комбинация (положительное переполнение, т.е. переполнение при сложении положительных чисел)

10 – запрещенная комбинация (отрицательное переполнение, т.е. переполнение при сложении отрицательных чисел)

11 – разрешенная комбинация (признак отрицательного числа).