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

LEC03.Представление отрицательных чисел

.pdf
Скачиваний:
18
Добавлен:
21.03.2016
Размер:
229.8 Кб
Скачать

Информатика

Учебный год 2013/2014

Группы 1100, 1101, 1105, 1106, 1652

Лекция 3. Арифметика в ограниченной разрядной сетке

Представление отрицательных чисел в ограниченной разрядной сетке

Проблема:

в ЭВМ нет способа обозначить знак «МИНУС» перед числом. Способы решения проблемы:

1. Специальный знаковый бит

+5 = 01012, -5 = 11012 (первый бит означает знак числа)

2. Фиксированное смещение

-5 = 00002, -4 = 00012, …, +10 = 11112 (все числа уменьшены на 5)

3. Нега-двоичная система счисления

-4 = 1100-2, +5 = 0101-2 (основание СС равно «-2»).

4. Обратный (инверсный) код

+5 = 01012, -5 = 10102 (инвертируются все биты )

5. Дополнительный код

+5 = 01012, -5 = 10112 (инвертировать все биты, прибавить 1)

Флаги состояния

SF – Sign Flag

Флаг принимает значениие 1, если результат выполнения операции отрицателен, и 0, если результат положителен.

ZF – Zero Flag

Флаг принимает значение 1, если результат выполнения операции равен нулю, и 0, если результат отличен от нуля.

PF – Parity Flag

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

3

Флаги состояния

AF – Auxiliary Carry Flag (Adjust Flag)

Вспомогательный флаг переноса принимает значение 1, если произошёл заём или перенос между 3-м и 4-м битами результата (самый младший бит имеет номер 0).

CF – Carry Flag

Флаг переноса принимает значение 1 в случае, если происходит перенос за пределы разрядов или заём извне.

4

Флаги состояния

OF – Overflow Flag

Принимает значение 1, если результат выполнения операции со знаковыми числами появляется одна из ошибок:

1)складываем положительные числа, получаем отрицательный результат;

2)складываем отрицательные числа, получаем положительный результат.

Пример для 4-разрядного числа:

 

 

0100

+ 0001 = 0101 (OF = 0)

: +4 + 1 = 5

0110

+ 1001 = 1111 (OF = 0)

: +6 - 7

= -1

1000

+ 0001 = 1001 (OF = 0)

: -8

+ 1

= -7

1100

+ 1100 = 1000 (OF = 0)

: -4

- 4

= -8

1000

+ 1000 = 0000 (OF = 1)

: -8

- 8 = 0

0101

+ 0100 = 1001 (OF = 1)

: +5 + 4 = -7.

 

 

 

 

5

Пример

X1 = 9484(10) = 0010.0101.0000.1100(2)

X2 = 15780(10) = 0011.1101.1010.0100(2)

X1 0010.0101.0000.1100 + X2 0011.1101.1010.0100

X3 = 0110.0010.1011.0000(2) = 25264(10) CF = 0, OF = 0

X3 0110.0010.1011.0000 + X2 0011.1101.1010.0100

X4 = 1010.0000.0101.0100(2) = -24492(10)

CF = 0, OF = 1 (сложение двух положительных)

6

X2 0011.1101.1010.0100

- X1 0010.0101.0000.1100

X5 = 0001.1000.1001.1000(2) = 6296(10) CF = 0, OF = 0

X2 = 0011.1101.1010.0100 Инверсия X2 = 1100.0010.0101.1011 +1

X8 = -X2 = 1100.0010.0101.1100(2)=

= -15780(10)

X3 = 0110.0010.1011.0000 Инверсия X3 = 1001.1101.0100.1111 +1

X9 = -X3 = 1001.1101.0101.0000(2)=

= -725264(10)

X5 = 0001.1000.1001.1000 Инверсия X5 = 1110.0111.0110.0111 +1

X11 = -X5 = 1110.0111.0110.1000(2)=

= -6296(10)

X8

1100.0010.0101.1100

-15780(10)

+ X9

1001.1101.0101.0000

-25264(10)

= 1.0101.1111.1010.1100(2) =

24492(10)

CF =

1, OF = 1 (сложение двух отрицательных)

X11

1110.0111.0110.1000

- 6296(10)

+ X3

0110.0010.1011.0000

25264(10)

= 1.0100.1010.0001.1000(2) =

18968(10)

CF =

1, OF = 0

8

Информация.

Методы представления информации

Информация – это новые сведения, подлежащие передаче, хранению и обработке.

Алфавит – конечное множество различных знаков, символов, для которых определена операция конкатенации (присоединения символа к символу или цепочке символов).

9

Буква или знак – любой элемент x алфавита X, где x принадлежит X.

Слово в алфавите (или над алфавитом) – конечная последовательность букв алфавита.

Длина некоторого слова над алфавитом Х - число составляющих его букв.

Словарный запас (словарь) алфавита Х - множество различных слов над алфавитом X.

10