大数运算(十)

Author: 水如烟 

用户使用的大数运算类

这里只是简单提供。可以考虑让它自动分拆多线程。

BigInt.vb

< Serializable() >  _
Public   Class  BigInt

    
Private  gMath  As   New  MathsUnit

    
Public   Property  StringValue()  As  StringValue
        
Get
            
' 转换为原存储方式
             Return  gMath.StringValue.CopyTo(gMath.OrignalAddressInfo.UnitNum)
        
End   Get
        
Set ( ByVal  value  As  StringValue)
            gMath.StringValue 
=  value
        
End   Set
    
End Property

    
Public   Function  Clone()  As  BigInt
        
Return  CommonFunction.Clone( Of  BigInt)( Me )
    
End Function

    
Public   Sub  CopyFrom( ByVal  bInt  As  BigInt)
        gMath.CopyFrom(bInt.gMath)
    
End Sub

    
Public   Sub  Add( ByVal  bInt  As  BigInt)
        gMath.Add(bInt.gMath)
    
End Sub

    
Public   Shared  Operator  + ( ByVal  a  As  BigInt,  ByVal  b  As  BigInt)  As  BigInt
        
Dim  c  As  BigInt  =  a.Clone
        c.Add(b)
        
Return  c
    
End  Operator

    
Public   Sub  Multy( ByVal  bInt  As  BigInt)
        gMath.Multy(bInt.gMath)
    
End Sub

    
Public   Shared  Operator  * ( ByVal  a  As  BigInt,  ByVal  b  As  BigInt)  As  BigInt
        
Dim  c  As  BigInt  =  a.Clone
        c.Multy(b)
        
Return  c
    
End  Operator

End Class

代码下载:代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值