ISSN 2305-5626. Вестник МГТУ им. Н.Э. Баумана: электронное издание. 2013
6
(
)
(
)
2
4,1
0
1 2 3 1 .
nb
j
W
nb
=
= + = −
В теле главного цикла выполняется внутренний цикл под управ-
лением заголовка
for
(
int i = 0; i < na1; i++
). Одна операция затрачи-
вается на инициализацию
int i = 0
:
2
4,2,0
0
1
1.
nb
j
W
nb
=
= = −
На каждой итерации внутреннего цикла выполняется проверка
условия
i < na1
(одна операция), и две операции отводятся для при-
ращения
i++
:
(
)
(
)
2 2
2
4,2,1
0 0
0
1 2
3 1
nb na
nb
j
i
j
W
na
− −
= =
=
=
+ =
− =
∑ ∑ ∑
(
)(
)
3 1
1 .
na nb
= − −
Для выполнения двух инструкций
int k = i + j; c
[
k
]
+= a
[
i
]
* b
[
j
] в
теле внутреннего цикла требуются восемь операций:
(
)
(
)
2 2
2
4,2,2
0 0
0
2 6
8 1
nb na
nb
j
i
j
W
na
− −
= =
=
=
+ =
− =
∑ ∑ ∑
(
) (
)
8 1 1 .
na nb
= − −
В общей сложности на выполнение внутреннего цикла затрачива-
ется следующее количество операций:
4,2
4,2,0
4,2,1
4,2,2
W W W W
= + + =
(
) (
) (
) (
) (
)
1 3 1 1 8 1 1
nb
na nb
na nb
= − + − − + − − =
(
)
(
)
(
)
1 1 11 1
nb
na
= − + − =
(
)(
)
1 11 10 .
nb
na
= −
После внутреннего цикла поразрядного умножения в главном
цикле четвертого этапа выполняется поразрядная корректировка пе-
реноса цифр с помощью инструкции
m = MultCarry
(
c, na+j, j
):
(
)
(
)
(
)
2
2
4,3 min
min
0
0
1
1 5 5
nb
nb
MultCarry
j
j
W
W
na j j
=
=
= +
= + + + − =
(
) (
)
1 6 5 ;
nb
na
= − +
1,2,3,4,5 7,8,9,10,11