首页 > 代码库 > 取值范围

取值范围

C语言的int类型与开发环境平台有关,可能是16位(2^16),也可能是32位(2^32),估计现在大多数开发环境都是用32位的,所以范围远远超出65535,可达到4294967296.

unsigned   int                                               0~4294967295   
int                                             -2147483648~2147483647 
unsigned long                                               0~4294967295
long                                             2147483648~2147483647
long long的最大值:                             9223372036854775807
long long的最小值:                            -9223372036854775808
unsigned long long的最大值:               18446744073709551615

__int64的最大值:                                9223372036854775807
__int64的最小值:                               -9223372036854775808
unsigned __int64的最大值:                 18446744073709551615

 

斐波拉契数列 fb[47]=4807526976超int,fb[92]=-6246583658587674878超long long

 A(13,13)=6227020800超int,A(21,21)=-4249290049419214848超long long

 

快速排列组合函数:

f[0]=0;for(int i=1;i<=400002;i++)     f[i]=f[i-1]+log(i*1.0);double logC(int m,int n){    return f[n]-f[m]-f[n-m];}double logA(int m,int n){    return f[n]-f[m];}//C(m,n)=exp(logC(m,n))//A(m,n)=exp(logA(m,n))