大数相关

来源:互联网 发布:聊天的艺术 知乎 编辑:程序博客网 时间:2024/06/06 03:18

大数的表示:

数的m进制表示(一步一步除法取余)

数的m幂l次方表示(先化m进制,再按l划分)

大数的加法、减法:结果位数最多为:max_len(a, b)+1

大数的乘法:结果位数最多为:len(a)+len(b)+1

大数的平方:有时求平方比求积快,则可利用AB=[(A+B)2-(A-B)2]/4求AB(该处2为幂数)。

除法:不做介绍

传统模幂运算:


优化:将r转化为二进制数:

Barrett求模算法:

Montgomery求模算法: