代码下载:
git clone git://git.code.sf.net/p/cutility/code cutility-code
长整数总共有两个文件一个为big_integer.h,一个为big_integer.c
对于现在的大部份机器来说,都是32位或者64位,即使在64位机上整数的取值的范围也仅限制于 -2^64~2^64-1。浮点数表于范围虽然很大,但却是一种有失精度的运算。在需要高精度运算或大数运算时,就不能采用机器原本提供的数据类型。下面介绍一种长整数的数据结构,以及和长整数相关的算法有:乘,除,取余,加,减,右移,左移,与,或,取反,比较。数据结构与算法参考了pyhon源码中的PyLongObject.c中关于长整数的实现和Alfred J. Menezes ,Paul C. van Oorschot ,Scott A. Vanstone 编著的《HANDBOOK of APPLIED CRYPTOGRAPHY》书中的第十四章-Efficient Implementation 。