float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;
double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。
Int64 / long long :-9,223,372,036,854,775,807~+9,223,372,036,854,775,807 共19位,
看来long long表示位数最多了
作者:搏风雨
来源:CSDN
原文:https://blog.csdn.net/bo_fengyu/article/details/37914471
版权声明:本文为博主原创文章,转载请附上博文链接!
#include<stdio.h>
#include<string.h>
int main()
{
int j;
double n,B=1,b=1,H=0,h=0,item,sum,i;
char a[1000000],c[3];
scanf("%lf",&n);
for(i=0;i<n;i++)
{ b=B=1;
H=h=0;
scanf("%lf",&item);
getchar();
gets(a);
for(j=0;a[j]!='\0';j++)
if(a[j]=='R'||a[j]=='L')
{ h+=b;
b*=2;
}
else if(a[j]=='T'||a[j]=='B')
{
H+=B;
B*=2;
}
gets(c);
if(strcmp(c,"LR")==0||strcmp(c,"RL")==0)
{
sum=H+2;
}
else sum=h+2;
printf("%.0f\n",sum);//结果也可以是2(最后纸的厚度页码)次方。
}
return 0;
}