Арифметические операции над двоично-десятичными кодами чисел
При обработке больших массивов экономической информации переводы чисел из десятичной системы в двоичную и обратно могут требовать значительного машинного времени. Некоторые образцы ЭВМ поэтому имеют или встроенные, или подключаемые блоки, которые обрабатывают десятичные целые числа в их двоично-десятичном представлении. Действия над ними также приводятся к операции алгебраического сложения отдельных цифр чисел, представленных дополнительными кодами в соответствии с табл. 2.1.
Существует несколько алгоритмов сложения двоично-десятичных кодов десятичных чисел. Приведем один из алгоритмов сложения, который получил довольно широкое распространение.
1. Сложение чисел начинается с младших цифр (тетрад) и производится с учетом возникающих переносов из младших разрядов в старшие.
2. Знак суммы формируется специальной логической схемой по знаку большего слагаемого.
3. Для того чтобы при сложении двоично-десятичных цифр возникали переносы, аналогичные при сложении чисел в десятичном представлении, необходимо проводить так называемую десятичную коррекцию. Для этого к каждой тетраде первого числа прибавляется дополнительно по цифре 610 = 01102, что позволяет исключить шесть неиспользуемых комбинаций (1010—1111)2, так как они кодируют шестнадцатеричные цифры А - E (числа 10 - 1510).
4. После операции суммирования осуществляется корректировка суммы. Из тех тетрад суммы, из которых не было переносов, изымаются ранее внесенные избытки 610 = 01102. Для этого проводится вторая коррекция. Операция вычитания заменяется, как и обычно, операцией сложения с числом -6, представленным дополнительным кодом 10102, но только в тех разрядах, в которых отсутствовали переносы. При этой второй коррекции переносы из тетрад блокируются.
5. Операция вычитания реализуется достаточно своеобразно. По общему правилу сложения (см. п. 1 - 4) к тетрадам числа с большим модулем прибавляются дополнительные коды тетрад другого числа. При этом первая коррекция не проводится, так как в дополнениях тетрад она учитывается автоматически. Знак результата определяется по знаку числа с большим модулем.
Пример. Сложить два числа А10 =177; В10 =418.
A2-10 00001 0111 0111
+ 1-я коррекция
0110 0110 0110
A/ 0111 1101 1101
+ Сложение A/+В
В2-10 0100 0001 1000
1011 1111 0101 результат C/
+
1010 1010 2-я коррекция
C2-10 0101 1001 0101 результат
C10 = 595.
Методика и порядок выполнения работы
Варианты заданий:
1. Решить
№ варианта | Из 10-CC в 2-СС и записать их прямые коды. | Из 10-СС в 2-СС и записать их обратные коды. | Сложить (вычесть) числа, предварительно преобразовав их из 10-СС в 2-СС |
+410, +710, -1310, -910 | +6310 -9210 | +6310 – 9210; 1510+710 | |
+810, +3810, -6810, -1010 | +6710, -9610 | +6710 – 9610; 2310+910 | |
+109, +3109, -6910, -1110 | + 6610, -9510 | + 6610 – 9510; 1810+410 | |
+1010, +4910, -7010, -1210 | +2310, -9710 | +2310 – 9710; 2510+810 | |
+1110, +4810, -7110, -1310 | +1710, -4610 | +1710 – 4610; 3210+210 | |
+1210, +4710, -7210, -1410 | +2910, -1810 | +2910 – 1810; 1210+1510 | |
+1310, +4610, -7310, -1510 | +3110, -2110 | +3110 – 2110; 3410+1010 | |
+1410, +4510, -7410, -1610 | +3710, -1210 | +3710 – 1210; 1210+1210 | |
+1510, +4410, -7510, -1710 | +4010, -3210 | +4010 – 3210; 1110+1710 | |
+1610, +4310, -7610, -1810 | +4310, -2310 | +4310 – 2310; 1310+9310 | |
+1710, +4210, -7710, -1910 | +5410, - 3310 | +5410 - 3310; 1510+1810 | |
+1810, +4110, -7810, -2010 | +5910, -3510 | +5910 – 3510; 2510+2310 | |
+1910, +5010, -7910, -2110 | +7510, -4110 | +7510 - 4110; 1210+1310 | |
+2010, +5110, -8010, -2110 | +7710, -4010 | +7710 - 4010; 1310+4110 | |
+2110, +5210, -8110, -2210 | +8710, -5410 | +8710 – 5410; 4510+7810 | |
+2210, +5310, -8210, -2310 | +8610, -5610 | +8610– 5610; 5410+6710 | |
+2310, +5610, -8310, -2410 | +7810, -5810 | +7810 – 5810; 8710+7610 | |
+2410, +5410, -8410, -2510 | +8710, 6010 | +8710 - 6010; 2010+7810 | |
+2510, +5510, -8510, -2610 | +8810, -6710 | +8810 - 6710; 5610+6610 | |
+2610, +5710, -8610, -2710 | +9110, -6510 | +9110 – 6510; 1410+4210 | |
+2710, +5810, -8710, -2810 | +9210, -6910 | +9210 – 6910; 2910+7310 | |
+2810, +5910, -8810, -3510 | +9510, -7110 | +9510 – 7110; 5910+1710 | |
+2910, +6010, -8910, -3610 | +9610, -7310 | +9610 – 7310; 3710+6910 | |
+3010, +6110, -9010, -3710 | +9810, -8710 | +9810 – 8710; 4510+3410 | |
+3110, +6210, -9110, -3810 | +10010, -14110 | +10010 – 1411; 5110+7210 | |
+3210, +6310, -9210, -3910 | +10210, -9010 | +10210 – 9010 3510+6110 | |
+3310, +6410, -9310, -4010 | +3110, -8010 | +3110 - 8010 1810+3010 | |
+3410, +6510, -9410, -4110 | +3710, -7810 | +3710 - 7810 3910+5410 | |
+3510, +6610, -9510, -4210 | +4010, -8110 | +4010 - 8110 1810+1410 | |
+3610, +6710, -9610, -4310 | +4510, -9310 | +4510 – 9310 1310+8710 |
2. Запишите двоичные числа п.1 Вашего варианта в дополнительном коде, в модифицированных обратных и дополнительных кодах.
3. Выполните умножение чисел, предварительно переведя их в двоичную систему счисления
Номер варианта | Умножить числа, предварительно переведя их из 10-СС в 2-СС | Поделить числа, предварительно преобразовав их из 10-СС в 2-СС | сложить (вычесть) числа | Сложить 2 числа, предварительно представив их из 10-СС в 2-СС |
510 * 810 | 6310 : 910 | 2.23410-0.65310 | 4310 + 1810 | |
410 * 710 | 9610 : 310 | 3.13510-2.54510 | 5010+2710 | |
310 * 510 | 6610 : 1110 | 1.98710-0.76410 | 3010+1510 | |
210 * 910 | 3210 : 810 | 4.38710-2.15410 | 4810+3610 | |
710 * 610 | 4610 : 210 | 7.54710-6.98710 | 8710+2110 | |
910 * 810 | 2710 : 310 | 3.56410-4.78910 | 12410+9810 | |
1110 * 210 | 4510 : 910 | -2.5410+4.65410 | 1910+1310 | |
710 * 1210 | 3610 : 610 | 7.11210-0.67510 | 1210+7810 | |
410 * 310 | 10010: 2010 | 2.34510-1.999910 | 45610+12710 | |
1410 * 310 | 12510:2510 | -3.44510+4.23410 | 10010+1110 | |
410 * 3310 | 20010:10010 | 5.645310-6.555510 | 4510+5510 | |
5910 * 510 | 1510 : 310 | 2.675410-2.77710 | 1310+1510 | |
710 * 4110 | 1810:310 | 3.98510-5.67410 | 11110+7810 | |
1710 * 410 | 1610:410 | 4.897510-3.978610 | 6610+2910 | |
1810 * 510 | 810:210 | 6.986110-1.098710 | 5110+8210 | |
1610 * 610 | 100010:10010 | 2.46710-7.297810 | 45610+22410 | |
17810 * 510 | 50010:1010 | 7.36710-6.35610 | 810+410 | |
1810 * 610 | 4510:910 | 1.234510-2.132710 | 4110+2810 | |
2810 * 710 | 2510:510 | 0.98710-1.908710 | 9910+6810 | |
1910 * 510 | 22510:1510 | 8.94610-2.365410 | 5610+12510 | |
210 * 910 | 30010:3010 | 2.65910-6.9875410 | 22510+1510 | |
910 * 710 | 32510:2510 | 1.36710-2.376510 | 10810+3710 | |
1610 * 310 | 17010:1010 | 2.18710-1.23410 | 24010+9810 | |
1910 * 710 | 8510:510 | 0.910- 0.78610 | 9410+5910 | |
10010 * 210 | 5510:510 | 2.76510-3.265810 | 110+1410 | |
10210 * 910 | 11110:1110 | 1.24310-0.36510 | 6010+1710 | |
3110 * 810 | 45010:9010 | 2.365910-2.22210 | 100010+14910 | |
3710 * 1810 | 4810:810 | 6.98610-5.99910 | 78910+96310 | |
4010 * 310 | 90010:9010 | 3.67510-2.27810 | 17310+23510 | |
4510 * 910 | 111110:11110 | 0.999910-0.87910 | 59110+85610 |
Вопросы для защиты работы
1. Назовите правило образования прямого кода двоичных чисел?
2. Назовите правило образования обратного кода двоичных чисел? Какие его свойства вы знаете?
3. Назовите правило образования дополнительного кода двоичных чисел? Какие его свойства вы знаете?
4. В чем отличие записи модифицированных обратных и дополнительных кодов от обратных и дополнительных кодов? Для чего нужны модифицированные коды?
5. Назовите правило сложения (вычитания) двоичных чисел.
6. Назовите правило умножения двоичных чисел.
7. Назовите правило деления двоичных чисел.
8. Как производятся арифметические операции над двоичными числами с плавающей точкой (сложение, вычитание, умножение, деление).
9. Как производятся арифметические операции над двоично-десятичными кодами чисел?
Лабораторная работа 3
Исследование аппаратного обеспечения ПК средствами Windows
Цель работы:
Изучить возможности утилит, встроенных в операционную систему Windows
Теоретическое обоснование
Знание аппаратного обеспечения компьютера в общем случае требуется почти всегда. Например, иногда требуется решить некоторую ресурсоёмкую задачу и нужно узнать справится имеющаяся в наличии ЭВМ с ней или нет. Также эти сведения будут полезны при необходимости обновления аппаратного обеспечения. Иногда требуется определить модели используемых процессоров на компьютерах для отчёта в вышестоящие организации. Все эти случаи требуют знания аппаратного состава ПК, но товарные чеки не всегда есть под руками. Да и не всегда можно быть уверенным, что содержимое соответствует чеку.
Поэтому данная работа достаточно актуальна.