C vs Python精度
发布时间:2020-12-16 03:22:59 所属栏目:百科 来源:网络整理
导读:尝试找到num ^ num的前k个数字的问题我在C和 Python中编写了相同的程序 C long double intpart,num,f_digit,k;cinnumk;f_digit= pow(10.0,modf(num*log10(num),intpart)+k-1);coutf_digit; Python (a,b) = modf(num*log10(num))f_digits = pow(10,b+k-1)prin
尝试找到num ^ num的前k个数字的问题我在C和
Python中编写了相同的程序
C long double intpart,num,f_digit,k; cin>>num>>k; f_digit= pow(10.0,modf(num*log10(num),&intpart)+k-1); cout<<f_digit; Python (a,b) = modf(num*log10(num)) f_digits = pow(10,b+k-1) print f_digits 输入 19423474 9 产量 C++ > 163074912 Python > 163074908 我检查了结果,C解决方案是准确的. 任何想法如何在Python中获得相同的精度??? 编辑:我知道外部库包获得这种精度,但任何NATIVE解决方案??? 解决方法
Decimal是一个内置的python类,可以正确处理浮点数(作为基数10,而不是IEEE 7somethingsomething标准).我不知道它是否支持对数和所有这些.
编辑:确实是support logarithms “and all that”. 您也可以设置它的精度.默认值是28个位置,但它可以是您想要的大小.可以将其视为小数的BigInt. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |