c语言中数据结果比long的适用范围还大(18位)怎么办?

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:38:33

就用 double double是范围最大的~

您那是什么时代的long啊……

主流PC和编译器的long和int长度一样是32位……

而G++有long long, VC有__int64可用(长64位)

数据不太多的话可以试试将18位的数据分成两段,第一段用int,取后两位;第二段用long,用全部。
这样做得话就是操作起来比较麻烦。。。

float的有效位比long少
double的有效位比long long少

浮点只是范围大,并不一定有效位多。因为同样的存储位数要多放个阶数,有效数字自然就少了。

在windows环境下,可以使用__int64,在linux环境下可以使用long long类型,两者能够表示的最大值为2的64次方,应该能够应付了,再不行的话,就只能用字符串进行模拟了。

_int64 可以定义64位整型数据,就是16个字节,你可以试试,老师上课讲的,我没用过