我正在将一个C++程序重写成Python。我需要将2个数字相乘,但是C++和Python给出的结果并不相同。下面是一个具有“硬编码”值的示例:
C++
printf("%f", ( 44474025505478620106407223274000875520.0 * 5454277033526873088.0 ) );
>>> 242573655903020442240866171189072992939998568974355791872.0
Python
print("%f" % ( 44474025505478620106407223274000875520.0 * 5454277033526873088.0 ) )
>>> 242573655903020398684723205308949669628048817708024725504.0
我的问题是我不需要最准确的结果:我需要(使用Python)得到尽可能接近C++的结果。
在我的示例中,前15位数字是相同的:
C++ > 242573655903020[442240866171189072992939998568974355791872.0
Py > 242573655903020[398684723205308949669628048817708024725504.0
我需要一个更接近的结果(18个第一位数字会更好)
我真的被困在这里了。有谁有主意吗?
仅供参考
Python版本: 2.7.8
C++编译器: cl.exe (来自visual studio的编译器)
https://stackoverflow.com/questions/46661455
复制相似问题