- •1. Преобразование чисел в разных системах счисления
- •2. Выполнение арифметических операций
- •3. Логический синтез комбинационных схем
- •Литература
- •Введение
- •1. Преобразование чисел в разных системах счисления
- •1.1. Преобразование десятичных чисел в двоичную, восьмеричную и шестнадцатеричную системы счисления
- •1.2. Преобразование восьмеричных и шестнадцатеричных чисел в двоичные
- •1.3. Преобразование двоичного числа в восьмеричную и шестнадцатеричную системы счисления
- •1.4. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичную систему счисления
- •1.5. Представление десятичных чисел в двоично-десятичном коде
- •2. Выполнение арифметических операций
- •2.1. Арифметические операции
- •2.2. Представление целых чисел в эвм
- •2.3. Арифметические действия над целыми числами
- •3. Логический синтез комбинационных схем
- •3.1. Базовые логические элементы
- •3.2. Составление таблицы истинности
- •3.3. Синтез одноразрядного сумматора
- •Контрольные вопросы
- •Задание на самостоятельную работу
1.4. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичную систему счисления
1) Разберите примеры преобразования чисел в десятичную систему счисления, если исходные числа представлены в двоичной, восьмеричной или шестнадцатеричной системах счисления:
Запомните, что в основе такого преобразования лежит представление любого числа в виде полинома:
где ai – одна из допустимых цифр системы счисления по основанию р, находящаяся на i-й позиции; n и m – число целых и дробных разрядов числа, соответственно.
2) Самостоятельно переведите числа 1110101011.1011101(2), 4562.503(8) и 315.А8(16) в десятичную систему счисления.
1.5. Представление десятичных чисел в двоично-десятичном коде
1) Разберите примеры представления целых десятичных чисел в двоично-десятичном коде, в котором десятичные цифры отдельно кодируются четырьмя двоичными цифрами и в таком виде записываются последовательно друг за другом.
Десятичное число |
9 |
7 |
0 |
3 |
Двоично-десятичный код |
1001 |
0111 |
0000 |
0011 |
В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 — знак «+» и 1101 — знак «-»). Структура поля упакованного формата:
Байт |
Байт |
… |
Байт |
|||
Цф |
Цф |
Цф |
Цф |
… |
Цф |
Знак |
В распакованном формате для каждой десятичной цифры отводится по целому байту, при этом старшие полубайты (зона) каждого байта (кроме самого младшего) в ПК заполняются кодом 0011, а в младших (левых) полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зона) самого младшего (правого) байта используется для кодирования знака числа. Структура поля распакованного формата:
Байт |
Байт |
Байт |
Байт |
||||
Зона |
Цф |
Зона |
Цф |
Зона |
Цф |
Знак |
Цф |
Число -193(10) = -0001 1001 0011(2-10) в ПК будет представлено:
|
Байт |
Байт |
Байт |
|||
Упакованный формат |
|
|
1 |
9 |
3 |
- |
|
|
0001 |
1100 |
0011 |
1101 |
|
Распакованный формат |
|
1 |
|
9 |
- |
3 |
0011 |
0001 |
0011 |
1100 |
1101 |
0011 |
2) Запишите в упакованном и распакованном форматах числа 8921 и -5763. Определите, сколько байтов будут занимать эти числа в указанных форматах.
2. Выполнение арифметических операций
2.1. Арифметические операции
1) Разберите примеры сложения двух чисел. Запомните, что при сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево.
Сложим числа 15 и 6 в различных системах счисления.
Десятичная: 15(10)6(10) |
Двоичная: 1111(2)110(2) |
|
|
Ответ: 15+6 = 21(10) = 10101(2) |
|
Проверка. Преобразуем полученные суммы к десятичному виду: 101012 = 24 + 22 + 20 = 16+4+1=21 |
2) Самостоятельно сложите числа и осуществить проверку результата в десятичной системе: 1011.1012 и 101.0112;
3) Разберите примеры перемножения двух чисел в разных системах счисления.
Перемножим числа 115 и 51.
Десятичная: 115(10)*51(10) |
Двоичная: 1110011(2)*110011(2) |
|
|
Ответ: 115*51 = 586510 = 10110111010012 |
|
Проверка. Преобразуем полученные произведения к десятичному виду: 10110111010012 = 212 + 210 + 29 + 27 + 26 + 25 + 23 + 20 = 5865 |
4) Самостоятельно перемножьте числа, а затем проверьте результаты, выполнив соответствующие десятичные умножения: 1011.112 и 101.12