其他分享
首页 > 其他分享> > 减法失效?

减法失效?

作者:互联网

double竟然比long long厉害。。不过还是遇到BUG了

下面的代码

#include<iostream>
#include<cmath>
 
using namespace std;
typedef long long LL;
double quickpow(LL b)
{
	double a=2;
	double ans=1;
	while(b)
	{
		if(b&1)
			ans*=a;
		printf("%.0lf\n",ans);
		a*=a;
		b>>=1;
		printf("%.0lf\n",a);
	}
	return ans-1;
}
int main()
{
    LL n;
    cin>>n;
    printf("%.0lf",(quickpow(n)));
    return 0;
}

在n小于某个值的时候求的是2^n-1;
但当输入64的时候,减一似乎失效了?

标签:%.,double,LL,printf,long,ans,失效,减法
来源: https://www.cnblogs.com/qbning/p/15742515.html