为什么python的内置乘法这么快

2024-04-29 15:32:34 发布

您现在位置:Python中文网/ 问答频道 /正文

所以前几天我尝试用python编写一个自定义的乘法函数

def multi(x, y):
    z = 0
    while y > 0:
        z = z + x
        y = y - 1
    return z

但是,当我用非常大的数字运行它时,比如(1<;<;90)和(1<;<;45),即(2^90)*(2^45)。计算花了很长时间。 所以我试着研究不同类型的乘法,像俄罗斯农民乘法技术,在那里实现的,它非常快,但不像multi(x,y)那样可读

def russian_peasant(x, y):
    z = 0
    while y > 0:
        if y % 2 == 1: z = z + x
        x = x << 1
        y = y >> 1
    return z 

我想让你回答的是,像python这样的编程语言是如何乘法的?


Tags: 函数lt类型returnifdef数字编程语言