什么是在python中序列化长号的最佳方法?
我在想泡菜,但它还在回归"缩短版".我显然要写所有的数字..
longNum = math.pow(2,1000)
f = open("file", "w")
pickle.dump(str(longNum), f)
f.close()
f = open("file","r")
longNum = pickle.load(f)
f.close()
print longNum
Run Code Online (Sandbox Code Playgroud)
1.07150860719e + 301
如果启动解释器,您可以快速查看问题.
>>> math.pow(2,1000)
1.0715086071862673e+301
>>> 2**1000
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376L
Run Code Online (Sandbox Code Playgroud)
math.pow返回一个浮点数,根据定义,它不会保留"所有数字".通过使用长整数运算符**,您的结果很长,这正是您要寻找的.
| 归档时间: |
|
| 查看次数: |
265 次 |
| 最近记录: |