减法失效?
作者:互联网
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