即Grade school multiplication(小学乘法?)算法的VBS实现。既然Python可以计算2的100次方,那么我就要用VBS实现。不过这个效率嘛,计算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一个等级的,我就不多说什么了。
直接上代码: (更多…)
即Grade school multiplication(小学乘法?)算法的VBS实现。既然Python可以计算2的100次方,那么我就要用VBS实现。不过这个效率嘛,计算2的10000次方Python用了0.009013秒,VBS用了120.9805秒,不是一个等级的,我就不多说什么了。
直接上代码: (更多…)
最近学Python看的书是《Learning Python》第三版,在Chapter 2里有一个示例
print 'hello world' print 2 ** 100
然后说了句“我将在这本书的后面解释print语句,以及为什么在Python中计算2的100次方不会溢出”。
I’ll explain the print statement, and why you can raise 2 to the power 100 in Python without overflowing, in later parts of this book.
Python中的长整型(long)和C语言的long有很大的区别(C语言的long对应Python里的plain integer),Python中的long可以实现无限精度(unlimited precision),很好奇这个在C代码中是怎么实现的,于是看了一下Python的C源码。
虽然求幂运算也有对应的算法,但是最终还是依赖于乘法来实现,所以在这里只研究一下Python的长整型乘法。长整型乘法在Python源码中的Objects目录的longobject.c中定义。 (更多…)