LEC03.Представление отрицательных чисел
.pdfИнформатика
Учебный год 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