Академический Документы
Профессиональный Документы
Культура Документы
ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«КАЗАНСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
им. А.Н. ТУПОЛЕВА-КАИ»
ЛАБОРАТОРНАЯ РАБОТА № 2
Казань 2019
Лабораторная работа № 2.
Выполнение арифметических операций
над числами в различных системах счисления
1. Выполнение сложения
(правило № 6)
При сложении двух чисел в системе счисления с основанием q
необходимо записать их столбиком одно над другим так, чтобы
соответствующие разряды одного слагаемого располагался под
соответствующими разрядами другого слагаемого. Сложение производится
поразрядно справа налево, начиная с младших разрядов слагаемых.
Рассмотрим сложение в разряде с номером i. Введем обозначения: а , b -
цифры соответственно первого и второго слагаемых i-го разряда, p -
признак переноса из i-1 разряда. Признак переноса pi равен 1, если в (i - 1) -ом
разряде сформирована единица переноса и p равен 0 в противном случае.
Найдем сумму: S =a + b + p ; a и b - десятичные числа, которые
соответствуют цифрам ai и bi.
Сложение производиться в десятичной системе счисления. Возможны
два случая:
1. S q. В этом случае из S вычтем основание системы
счисления q, сформируем признак переноса в следующий i+1 разряд, равный
1 и разности, полученной в результате вычитания, поставим в соответствии
цифру s системы счисления с основанием q.
2. S < q.. Сформируем признак переноса p в следующий i+1
разряд, равный 0. Поставим в соответствии десятичному числу S цифру s
системы счисления с основанием q.
2
Полученная цифра s является цифрой i-го разряда суммы. Аналогично
производится сложение в каждом разряде.
1 1 1 1 1 1 1 1
1 0 0 1 0 1 1 0 0 12 6 0 110
+ +
1 0 1 1 0 0 0 1 1 12 7 1 110
1 0 1 0 0 1 0 0 0 0 02 1 3 1 210
1 1 3 18 7 1 110
+ +
1 3 0 78 6 0 110
2 4 4 08 1 3 1 210
1 1
2 5 916 7 1 110
+ +
2 с 716 6 0 110
5 2 016 1 3 1 210
3
2. Выполнение вычитания
(правило № 7)
4
Так как 1001011001 меньше числа 1011000111, то вычитание
произведем из числа 1011000111. Вычтем из него число 1001011001,
а к разности припишем знак «-»:
-1 -1 -1 -1
1 0 1 1 0 0 0 1 1 12 7 1 110
1 0 0 1 0 1 1 0 0 12 6 0 110
1 1 0 1 1 1 02 1 1 010
-1
1 3 0 78 7 1 110
- -
1 1 3 18 6 0 110
1 5 68 1 1 010
1 1
2 с 716 7 1 110
- -
2 5 916 6 0 110
6 е16 1 1 010
5
3. Выполнение умножения в двоичной системе счисления
(правило № 8)
Для того, чтобы умножить одно двоичное число на другое необходимо
записать их одно под другим, чтобы разряды второго сомножителя
располагался под соответствующими разрядами первого сомножителя.
Назовем первый сомножитель - множимое, а второй сомножитель -
множитель.
Сформируем столбик чисел и расположим его под записанными
сомножителями. Количество чисел столбика равно количеству единиц
множителя. Каждое число столбика соответствует одной единице множителя
и образуется из множимого. Множимое записывается в строке столбика так,
что его младший разряд располагается под соответствующей единицей
множителя. Образованный столбик чисел складывается. При этом
первоначально складываются первые два числа. К результату сложения
прибавляется третье число, к очередному результату прибавляется четвертое
число, и т. д. Полученная сумма является произведением двух исходных
чисел.
Пример 5. Перемножить двоичные числа 1001011001 и 100100:
14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 1 0 1 1 0 0 1 6 0 1
1 0 0 1 0 0 3 6
1 0 0 1 0 1 1 0 0 1 0 0 3 6 0 6
+ +
1 0 0 1 0 1 1 0 0 1 1 8 0 3
1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 2 1 6 3 6
6
Проверим результат выполнения умножения, переведем число
1010100100000100 в двоичную систему счисления:
1010100100001002 = 1214 + 0213 + 1212 + 0211 + 1210 + 029 + 028+
4. Выполнение деления
(правило № 9)
Для того, чтобы разделить одно двоичное число не другое необходимо
записать числа также как записываются числа при делении в десятичной
системе счисления (уголком). Далее выполняются действия:
1. Просматриваем делимое слева направо, начиная со старшего
разряда, и определим минимальную по длине последовательность нулей
и единиц, из которой можно образовать число не меньшее, чем делитель.
2. Запишем под образованным числом делитель таким образом,
чтобы младший разряд делителя располагался под младшим разрядом
образованного числа.
3. Выполним вычитание, т.е. из образованного числа вычтем
делитель и найдем разность.
4. В область частного запишем единицу. Если в области частного
имеется последовательность цифр, то единица приписывается справа к
последовательности цифр, размещенной в области частного.
5. Припишем справа к полученной разности разряд делимого
расположенный за образованным числом. Если такой разряд отсутствует, то
деление закончено и образованное из разности и возможно приписанных
ранее разрядов делимого число является остатком от деления. Если разряд
делимого можно приписать к разности, то возможны два случая:
7
5.1. Образованное число меньше делителя. В этом случае в область
частного необходимо справа приписать ноль и повторить шаг 5.
1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 0 6 0 110 3 6
1 0 0 1 0 0 1 0 0 0 0 5 7 6 1 6
1 1 0 0 1 2 5
8
Таблица 1
№ Наименование Время в сек, Количество Количество Количество
задачи затраченное заданий ошибочных правильных
на решение решений решений
Выполнение
арифметических
операций
9
Таблица 2
№ a b c № a b c
1 128 268 12 18 319 513 30
2 151 453 13 19 123 525 31
3 123 234 14 20 319 464 32
4 524 543 15 21 611 712 33
5 144 213 16 22 649 724 34
6 313 412 17 23 599 609 35
7 156 211 18 24 601 711 36
8 618 764 19 25 613 705 37
9 419 543 21 26 681 709 38
10 124 261 22 27 605 713 39
11 161 413 23 28 613 689 40
12 173 234 24 29 617 632 41
13 525 563 25 30 629 678 42
14 164 213 26 31 729 777 53
15 213 412 27 32 873 834 57
16 136 214 28 33 981 987 61
17 128 464 29 34 983 991 63
10
Таблица 2(продолжение)
№ a b c № a b c
035 505 753 031 070 394 669 048
036 514 689 053 071 617 974 031
037 203 839 054 072 253 545 056
038 866 966 044 073 297 989 029
039 643 698 056 074 265 671 027
040 831 978 021 075 649 904 049
041 625 716 029 076 532 761 058
042 421 694 058 077 461 930 042
043 532 675 025 078 303 865 034
044 653 922 048 079 517 658 023
045 666 918 021 080 896 952 027
046 456 598 047 081 454 518 034
047 741 795 043 082 522 838 027
048 748 841 058 083 755 894 046
049 856 959 058 084 197 592 039
050 112 844 048 085 456 531 029
051 318 645 036 086 326 534 041
052 394 756 058 087 508 944 043
053 375 963 036 088 155 655 055
054 787 839 027 089 298 372 054
055 575 793 021 090 888 981 030
056 524 916 034 091 700 946 032
057 687 843 024 092 545 864 038
058 192 341 025 093 156 990 056
059 533 602 028 094 458 955 039
060 271 395 046 095 288 702 037
061 179 610 034 096 628 780 030
062 721 934 052 097 542 851 053
063 497 616 056 098 256 684 024
064 706 967 027 099 584 825 042
065 259 695 042 100 595 762 025
066 252 927 042 101 247 985 037
067 879 979 029 102 735 975 042
068 267 736 036 103 822 897 058
069 356 590 051 104 633 685 023
11
Таблица 2 (окончание)
№ a b c № a b c
105 544 795 025 122 559 970 048
106 643 991 038 123 456 801 045
107 855 963 042 124 513 877 025
108 404 668 033 125 793 891 030
109 861 929 021 126 895 975 055
110 744 874 037 127 247 888 058
111 847 965 029 128 139 996 050
112 569 792 030 129 586 986 055
113 396 499 044 130 577 695 056
114 627 760 058 131 297 501 025
115 516 753 051 132 194 293 031
116 306 415 050 133 183 719 040
117 462 831 048 134 406 797 047
118 742 944 028 135 888 956 036
119 750 910 027 136 597 811 027
120 687 756 039 137 659 868 024
121 366 891 047 138 516 649 026
13
Приложение 1. Выполнение операций при использовании формата
хранения с плавающей точкой (домашнее задание)
14
Последовательность цифр 1101 является записью мантиссы, а число -3 10
– порядком числа.
Рассмотрим правило выполнения арифметических действий при
использовании формата хранения с плавающей точкой с нормализованными
числами (правило № 10):
1. При сложении и вычитании чисел сначала уравниваются
порядки операндов. Мантисса числа с меньшим порядком сдвигается вправо
на количество разрядов, равное разности порядков операндов. После каждого
сдвига порядок увеличивается на единицу. Затем производится сложение
либо вычитание мантисс слагаемых (см. правило № 6 и № 7).
2. При умножении чисел порядки сомножителей складываются,
а мантиссы перемножаются (см. правило № 8).
3. При делении из порядка делимого вычитается порядок
делителя, а над мантиссами совершается операция деления (см.правило № 9).
4. При необходимости полученный результат выполнения
арифметических действий нормализуется.
Рассмотрим несколько примеров (7 - 10) выполнения действий с
нормализованными дробными двоичными числами. Для удобства
выполнения операций умножения и деления в примерах (9, 10) мантиссы
операндов преобразуют к целым числам.
Пример 7. Выполнить сложение числа 0.101227 и числа 0.110112 210.
Предварительно выравниваются порядки. Порядок первого слагаемого
увеличивается на три, а разделительная точка перемещается на три разряда
вправо (0.101227 = 0.0001012210 ):
1
0 . 0 0 0 1 0 1 2 10
+
0 . 1 1 0 1 1 2 10
0 . 1 1 1 0 1 1 2 10
15
Результат сложения равен 0.1110112210.
-1 -1 -1 -1
0 . 1 0 1 0 1 2 10
-
0 . 0 1 1 1 0 1 2 10
0 . 0 0 1 1 0 1 2 10
= 0.100000101228.
16
Нормализация числа не требуется. Таким образом, в результате
умножения получено двоичное нормализованное число:
(0.111012 × 25) (0.10012× 23) = 0.100000101228 (130.510).
Пример 10. Выполнить деление двоичного числа 0.11112×24 (1510) на
двоичное число 0.1012×23 (510):
Из порядка делимого вычтем порядок делителя:
17
Таблица П1. Варианты заданий для выполнения домашнего задания
№ a b № a b № a b № a b
001 850 050 035 364 028 069 459 027 103 799 047
002 464 029 036 540 045 070 350 025 104 675 045
003 425 025 037 456 038 071 624 048 105 800 050
004 464 029 038 420 030 072 882 049 106 299 023
005 748 044 039 546 042 073 612 034 107 495 033
006 357 021 040 504 028 074 738 041 108 585 045
007 512 032 041 378 027 075 816 048 109 800 050
008 705 047 042 345 023 076 455 035 110 637 049
009 532 038 043 442 034 077 616 044 111 300 025
010 612 034 044 308 028 078 231 021 112 273 021
011 846 047 045 288 024 079 675 045 113 612 034
012 528 048 046 612 036 080 765 045 114 400 025
013 900 050 047 384 032 081 490 035 115 684 038
014 666 037 048 378 021 082 702 039 116 680 040
015 592 037 049 574 041 083 464 029 117 666 037
016 765 051 050 544 034 084 637 049 118 510 034
017 675 045 051 242 022 085 680 040 119 672 048
018 396 033 052 714 042 086 532 038 120 558 031
019 528 033 053 341 031 087 416 026 121 416 032
020 476 034 054 504 028 088 374 022 122 663 051
021 518 037 055 450 025 089 720 048 123 432 027
022 611 047 056 253 023 090 816 051 124 448 032
023 364 026 057 390 030 091 700 050 125 408 034
024 459 027 058 480 040 092 684 038 126 465 031
025 378 027 059 348 029 093 403 031 127 391 023
026 525 035 060 486 027 094 507 039 128 464 029
027 352 022 061 660 044 095 608 038 129 372 031
028 231 021 062 495 045 096 882 049 130 468 026
029 735 049 063 720 048 097 396 033 131 425 025
030 462 033 064 585 045 098 390 026 132 684 038
031 648 036 065 442 026 099 459 027 133 714 051
032 276 023 066 325 025 100 684 038 134 686 049
033 429 033 067 561 051 101 544 034 135 527 031
034 702 039 068 324 027 102 900 050 136 700 050
18