我是编程新手,我想知道以下函数中发生了多少次迭代。我只想知道迭代次数如何取决于a和b 其中A和B是二进制数,例如A = 101010和b = 1011010。 以下是无需使用+运算符
即可将两个数字相加的算法 while B is greater than 0:
U = A XOR B
V = A AND B
A = U
B = V * 2
答案 0 :(得分:0)
我将假设惯常的惯例是将非零值视为i
,并且True
的值为0
。
由于您未指定False
的初始值,因此请考虑两种情况(我假设初始化时为A
,否则将没有迭代):
B==True
因此,根据CASE 1: A==False => (U==True and V==False) => B=0 => iterations stop
CASE 2:A==True => (U==False and V==True) => B=True, A=False => this is now CASE 1
的初始值并在开始时假设A
,将有B==True
或1
个迭代。