我正在处理一个数学例子。我需要为我的代码使用12位数字。那么我应该使用哪种数据类型来使用我的函数中的数字?
答案 0 :(得分:5)
如果你有一个64位整数类型,我会选择它,因为它给你(18个全数字)范围:
−9,223,372,036,854,775,808 to
+9,223,372,036,854,775,807
对于其他任务(甚至更大的整数或大量浮点值),我使用GNU多精度库GMP。它的表现令人印象深刻。
答案 1 :(得分:2)
64位整数(long
,int64_t
,unsigned long
,uint64_t
)应该可以解决问题,或者如果您需要小数,double
或{ {1}}。
答案 2 :(得分:1)
您也可以使用格式说明符“llu”的“unsigned long long”。它适用于C中的12位数字。
unsigned long long i=600851475143;
printf("%llu",i);
答案 3 :(得分:0)
在寻找名为Bignum的图书馆时,我发现了wiki page