网上看到的一个C++函数,很短,但是看不懂是什么意思,求高人解答!

2025-05-22 10:36:45
推荐回答(2个)
回答(1):

int CRSADlg::power(int a, int n, int m)//定义函数CRSADlg继承power
{

int z=1, t;

for(t=a; n>0; n>>=1)//让t从a开始,循环,判断条件是n>0;每次执行完成就n>>=1 就类似于 n+=1;
{
if (n%2==1) //如n为奇数z=(z*t)%m再执行t=(t*t) % m,若果为偶数,只执行t=(t*t) % m
z=(z*t)%m;
t=(t*t) % m;
}
return(z);//循环完成后 返回z的值
}

回答(2):

我想应该是这句你看不懂n>>=1;n=n>>1;>>是向右移1位.int占四个字节,一个字节8位