Browse > Home > Flash CS3/AS3 > AS3类: BigInt(大整数)

| Subcribe via RSS

AS3类: BigInt(大整数)

02月 22nd, 2009 | 1,536 views | Posted by flashlizi in Flash CS3/AS3

最近在一个项目中计算一个64bit的密钥key的时候,需要用到超过64位的数字运算。大家应该都知道,在AS3.0中,Number数据类型的范围是最大的,它可以使用52位来存储有效位数,即53位以上的数字只是近似值。因此需要到用到Big Integer(大整数),像目前的很多的RSA加密算法就建立于超过512位甚至更大的大数运算。网上找了一下只有hurlant的crypto加密库里面有com.hurlant.math.BigInteger这个类,可惜遗憾的是,这个类还是有位数限制,不能满足我的需求。因此我改写了一个BigInt的js类库,实现了简单的加减乘除取模等运算。由于时间比较紧,改写的代码比较乱,不过还是很好用的,现在分享给需要的朋友。点击下载>>>

下面是使用示例:
var x:BigInt = new BigInt("1234567890123456789012345678901234567890");
var y:BigInt = new BigInt("0x123456789abcdef0123456789abcdef0");
var z:BigInt = x.clone();//复制
z = x.negative();//取相反数
z = BigInt.plus(x, y);//加法
z = BigInt.minus(x, y);//减法
z = BigInt.multiply(x, y);//乘法
z = BigInt.divide(x, y);//除法
z = BigInt.mod(x, y);//取模
var compare:int = BigInt.compare(x, y); //大数比较 return -1, 0, or 1
var num:Number = x.toNumber(); //转为Number类型

Tags:

Leave a Reply

wow gold wow gold wow gold wow power leveling wow power leveling wow power leveling nike shoes nike shoes nike shoes nike shoes jordan shoes Jordan shoes jordan shoes Jordan shoes world of warcraft gold world of warcraft gold Replica handbags 1