Арифметические операции над двоично-десятичными кодами чисел

При обработке больших массивов экономической информации переводы чисел из десятичной системы в двоичную и обратно могут требовать значительного машинного времени. Некоторые образцы ЭВМ поэтому имеют или встроенные, или подключаемые блоки, которые обрабатывают десятичные целые числа в их двоично-десятичном представлении. Действия над ними также приводятся к операции алгебраического сложения отдельных цифр чисел, представленных дополнительными кодами в соответствии с табл. 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

Теоретическое обоснование

Знание аппаратного обеспечения компьютера в общем случае требуется почти всегда. Например, иногда требуется решить некоторую ресурсоёмкую задачу и нужно узнать справится имеющаяся в наличии ЭВМ с ней или нет. Также эти сведения будут полезны при необходимости обновления аппаратного обеспечения. Иногда требуется определить модели используемых процессоров на компьютерах для отчёта в вышестоящие организации. Все эти случаи требуют знания аппаратного состава ПК, но товарные чеки не всегда есть под руками. Да и не всегда можно быть уверенным, что содержимое соответствует чеку.

Поэтому данная работа достаточно актуальна.

Наши рекомендации