1.关于字符与整型的转换 及 类型转换int main(){ signed char u=259; cout<<static_cast<int>(u); getchar(); return 0; }2. 1000! 的计算, 由于计算阶乘的结果比较庞大,难以使用long double 等数据类型存储,所以改变结果的存储方式,计算的思想是:当结果超过四位数时,如10003,对此数进行分割为1,0003,然后再进行计算。 long a[10000]; int i,j,l,c,n,m=0,w; cout<<"\n N="; cin>>n; a[0]=1; for(i=1;i<=n;i++) { c=0; for(j=0;j<=m;j++) { a[j]=a[j]*i+c; c=a[j]/10000; a[j]=a[j]%10000; } if(c>0) { m++; a[m]=c; } } w =static_cast<int>(m*4+log10(static_cast<double>(a[m]))+1); //结果的位数 writeToFile(a, n, m, w, i); |