Курс лекций по микропроцессорамРефераты >> Кибернетика >> Курс лекций по микропроцессорам
= 11374(1)
Кодирование дробного десятиричного числа
Из 10 в двоичную
0,065 – неправильная дробь т. е. есть после дроби ноль
Кодировать в двоичную систему можно только правильную дробь
0,65*10-1 n = 5 – кодируем до пятого знака
0,65 0,65(10) → 0,10100(2)
* 2
1,30
* 2
0,60
* 2
1,20
* 2
0,40
* 2
0,8
Если кодировать 2.56, то двойку кодируют отдельно и 0,56 также отдельно
Переход из двоичной в шестнадцатиричную систему
1011.0001(2) → В1(16)
← ←
В 1
3С2(16)
0011 1100 0010
1101,11110(2)
8421 2-12-22-32-42-5
Кодирование знака числа
Для того чтобы кодировать вещественные числа мы должны знать число, бит в максимальном числе
nmax n = 8
7 0
| b6 | b5 | b4 | b3 | b2 | b1 | b0 |
Знак
Все значения, записанные с b1 до b6 это число b7, это знак если b7 = 1 “ - “, b7 = 0 “ + ”
10011111
минус
Арифметическое сложение вещественных чисел
Если мы имеем два вещественных числа для того чтобы упростить программирование арифметики вещества чисел вводятся коды для отрицательных чисел
- Прямой
- Обратный(инверсный)
- Дополнительный
n = 8
10011100 – прямой
11100011 - обратный
+ 1
11100100 – дополнительный код
Обратный переход
11100100 – дополнительный код
- 1
11100011 – обратный
10011100 – прямой
сложение
(+6) 00000110
+ +
(+5) 00000101
(+11) 00001011
(+6) 00000110 – прямой код
+ 10000100 – прямой код
(-4) 11111011 – обратный код
(+2) 1
11111100 – дополнительный код(-4)
00000110 – прямой код(+6)
100000010 – (+2)
выходит за пределы регистра и теряется
(+6) 00000110 прямой
+
(-D) 10001101 прямой(-7)
(-7) 11110010 обратный
+ 1
11110011 доп. код (-7)
00000110 (-6)
11111001
- 1
11111000 обратный код
10000111 (-7)
Для сложения двух отрицательных чисел нужно их перевести в дополнительный код.
Суммирование двоичное
0 + 0 = 0
0 + 1 = 1
1 + 1 = 10
Вычитание
0 – 0 = 0
1 – 0 = 1
1 – 1 = 1
10 – 1 = 1
Логические операции
Инверсия (НЕ)
0 → 1
1 → 0
Дизъюнкция (ИЛИ)
0√ 0 = 0
0√ 1 = 1
1√ 0 = 1
1√ 1 = 1
Коньюнкция (И)
0 ^ 0 = 0
0 ^ 1 = 0
1 ^ 0 = 0
1 ^ 1 = 1
Сложение по модулю два
0 + 1 = 1
1 + 0 = 1
0 + 0 = 0
1 + 1 = 0
Операции сдвига
Существуют следующие виды сдвигов
- Простой сдвиг
- Циклический сдвиг
- Циклический сдвиг с переносом
- Арифметический сдвиг
- Простой сдвиг
Рег А
7 вправо→ 0
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
0→ →b0
Каждый сдвиг может быть вправо или влево.
При простом сдвиге b0 выносится из регистра и теряется
11001100 →
→01100110→0
- Циклический сдвиг (влево)
←
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |