这是分块运算测试 。整个过程模拟了实际计算中的计算分配,中间结果的存储,再计算,最后得出全部结果。
测试看到True出现,很是开心。一次成功。运算单元和地址,两个关键设计还是正确的。
下面是测试代码和输出结果。
Private gBuilder As New System.Text.StringBuilder
Public Sub Run()
If gBuilder.Length > 0 Then gBuilder.Remove( 0 , gBuilder.Length)
bAppend( " 这是大数加、乘运算的第二个测试程序。目的是测试分块运算 " )
bAppend( " 也是计算1000的阶乘 " )
bAppend( " 步骤是先把[1,600],[601,1000]的连乘结果算出来,再把两个结果用各自的存储方式切割,再对这些块计算。 " )
bAppend( " [1,600]的结果是: " )
Dim aValue As BigIntLibrary.StringValue = Calculate( 1 , 600 )
bAppend(aValue, True , False )
bAppend( " [601,1000]的结果是: " )
Dim bValue As BigIntLibrary.StringValue = Calculate( 601 , 1000 )
bAppend(bValue, True , False )
bAppend( " 将第一个结果按指数6存储: " )
Dim aValue6 As BigIntLibrary.StringValue = aValue.CopyTo( 6 )
bAppend(aValue6, False , False )
bAppend( " 将第二个结果按指数5存储: " )
Dim bValue5 As BigIntLibrary.StringValue = bValue.CopyTo( 5 )
bAppend(bValue5, False , False )
bAppend( " 分拆后,前者有两项,后者有三项.共有六次相乘,六次相加.下面分步计算 " )
Dim aValue6_0 As BigIntLibrary.StringValue = aValue6.CopyToByIndex( 6 , 0 )
Dim aValue6_1 As BigIntLibrary.StringValue = aValue6.CopyToByIndex( 6 , 1 )
Dim bValue5_0 As BigIntLibrary.StringValue = bValue5.CopyToByIndex( 5 , 0 )
Dim bValue5_1 As BigIntLibrary.StringValue = bValue5.CopyToByIndex( 5 , 1 )
Dim bValue5_2 As BigIntLibrary.StringValue = bValue5.CopyToByIndex( 5 , 2 )
Dim c( 5 ) As BigIntLibrary.StringValue
bAppend( " c(0) 存 aValue6_0 * bValue5_0 " )
bAppend(aValue6_0, False , False )
bAppend(bValue5_0, False , False )
c( 0 ) = Calculate(aValue6_0, bValue5_0)
bAppend( " 相乘结果 " )
bAppend(c( 0 ), False , False )
bAppend( " c(1) 存 aValue6_0 * bValue5_1 " )
bAppend(aValue6_0, False , False )
bAppend(bValue5_1, False , False )
c( 1 ) = Calculate(aValue6_0, bValue5_1)
bAppend( " 相乘结果 " )
bAppend(c( 1 ), False , False )
bAppend( " c(2) 存 aValue6_0 * bValue5_2 " )
bAppend(aValue6_0, False , False )
bAppend(bValue5_2, False , False )
c( 2 ) = Calculate(aValue6_0, bValue5_2)
bAppend( " 相乘结果 " )
bAppend(c( 2 ), False , False )
' ---
bAppend( " c(3) 存 aValue6_1 * bValue5_0 " )
bAppend(aValue6_1, False , False )
bAppend(bValue5_0, False , False )
c( 3 ) = Calculate(aValue6_1, bValue5_0)
bAppend( " 相乘结果 " )
bAppend(c( 3 ), False , False )
bAppend( " c(4) 存 aValue6_1 * bValue5_1 " )
bAppend(aValue6_1, False , False )
bAppend(bValue5_1, False , False )
c( 4 ) = Calculate(aValue6_1, bValue5_1)
bAppend( " 相乘结果 " )
bAppend(c( 4 ), False , False )
bAppend( " c(5) 存 aValue6_1 * bValue5_2 " )
bAppend(aValue6_1, False , False )
bAppend(bValue5_2, False , False )
c( 5 ) = Calculate(aValue6_1, bValue5_2)
bAppend( " 相乘结果 " )
bAppend(c( 5 ), False , False )
bAppend( " 最后相加,结果是: " )
Dim mResult0 As BigIntLibrary.StringValue = Calculate(c)
bAppend(mResult0, True , True )
bAppend( " 直接相乘的结果是: " )
Dim mResult1 As BigIntLibrary.StringValue = Calculate(aValue, bValue)
bAppend(mResult1, True , True )
bAppend( String .Format( " 两种方式的结果是否相同:{0} " , mResult1.Equals(mResult0)))
Console.WriteLine(gBuilder.ToString)
End Sub
Private Function Calculate( ByVal values() As BigIntLibrary.StringValue) As BigIntLibrary.StringValue
Dim a As New BigIntLibrary.BigInt
Dim b As New BigIntLibrary.BigInt
a.StringValue = values( 0 )
For i As Integer = 1 To values.Length - 1
b.StringValue = values(i)
a.Add(b)
Next
Return a.StringValue
End Function
Private Function Calculate( ByVal aValue As BigIntLibrary.StringValue, ByVal bValue As BigIntLibrary.StringValue) As BigIntLibrary.StringValue
Dim a As New BigIntLibrary.BigInt
Dim b As New BigIntLibrary.BigInt
a.StringValue = aValue
b.StringValue = bValue
a.Multy(b)
Return a.StringValue
End Function
Private Function Calculate( ByVal first As Integer , ByVal last As Integer ) As BigIntLibrary.StringValue
Dim a As New BigIntLibrary.BigInt
Dim b As New BigIntLibrary.BigInt
a.StringValue = New BigIntLibrary.StringValue( " 1 " )
For i As Integer = first To last
b.StringValue = New BigIntLibrary.StringValue(i.ToString)
a.Multy(b)
Next
Return a.StringValue
End Function
Private Sub bAppend( ByVal strValue As BigIntLibrary.StringValue, ByVal IsValue As Boolean , ByVal whenValueIsFullvalue As Boolean )
Dim tmp As String
If IsValue Then
If whenValueIsFullvalue Then
bAppend( " 全值: " )
tmp = strValue.GetFullValue
Else
bAppend( String .Format( " 值:(起始地址:{0}) " , strValue.FirstAddressInfo.Address))
tmp = strValue.Value
End If
Else
With strValue
bAppend( String .Format( " 存储情况: 指数 {0},单位 {1},长度 {2}, 起始地址 {3} " , _
.FirstAddressInfo.UnitNum, .UnitLength, .Size, .FirstAddressInfo.Address))
tmp = .Test_OutPutValueInformation
End With
End If
SplitStringToBuilder(gBuilder, tmp, 100 )
gBuilder.AppendLine()
End Sub
Private Sub bAppend( ByVal s As String )
gBuilder.AppendLine(s)
gBuilder.AppendLine()
End Sub
Private Sub SplitStringToBuilder( ByRef b As System.Text.StringBuilder, ByVal line As String , ByVal lenline As Integer )
Dim mArray() As String = SplitStringToArray(line, lenline)
b.AppendLine(mArray( 0 ).PadLeft(lenline))
For i As Integer = 1 To mArray.Length - 1
b.AppendLine(mArray(i))
Next
End Sub
Private Function SplitStringToArray( ByVal line As String , ByVal digits As Integer ) As String ()
Dim mLineLength As Integer = line.Length
Dim mCount As Integer = mLineLength digits
If (mLineLength Mod digits) > 0 Then mCount += 1
Dim mResult(mCount - 1 ) As String
Dim mCurrentIndex As Integer
For i As Integer = mCount - 1 To 0 Step - 1
mCurrentIndex = mLineLength - (mCount - i) * digits
If mCurrentIndex < 0 Then
mResult( 0 ) = line.Substring( 0 , mLineLength - (mCount - 1 ) * digits)
Else
mResult(i) = line.Substring(mCurrentIndex, digits)
End If
Next
Return mResult
End Function
End Class
输出:
这是大数加、乘运算的第二个测试程序。目的是测试分块运算
也是计算1000的阶乘
步骤是先把[1,600],[601,1000]的连乘结果算出来,再把两个结果用各自的存储方式切割,再对这些块计算。
[1,600]的结果是:
值:(起始地址:10)
126557231622543074254186782451508292976714038622746607681878288585281
4082314735123781780279561957107476520853259806022480324090378216476943079502557805427190628338764382
6088448124626488332623608376164081221171179439885840257818732919037889603719186743943363062139593784
4739222318527825476197717238892524768711860001746979345491128456625961823082803906151846919244462155
5258652374008493280725905623896210468973152258756441223161801877435080152683956736744492820623131097
3619440354723718012867753019556135721376207959558860559933052856914157120622980057169891912595926540
4275968534412769850067248695582019306579002409430076578174736840089444481832191241630176666077706675
8508216959823923027403551773864806560049270209573284349270885603692021988336311152798810927739269656
2776813446645651238419301586157342867860646666350050113314787911320639668510871569846664873595017518
9956709584778064116675053464625904711368626473496662434262426771752047323142810644179390418686537411
8742306498518955674264011159858003564402183557671575286939746545382858447129126995589039329444831574
6500268702149708808053100406398480942695623586049403348084970064668900206251516968479727515576425962
3921362691690898846097942713310610188956344210940823104088897529542658426917324605389117849600000000
[601,1000]的结果是:
值:(起始地址:7)
31794884805730716429152055721086183874092813778136126616109666
4045965627359860409153387332152401486094747743820379852978171227393702071902258025279171567762881754
7985972474644167004581738122164359642392302077924104400737584862208005863905920370764750209470882112
0596942630049625050863924016909552649825684060308980780584318918500422267412113574219692866745457476
9012271508294514880198913802347006148202598502854846716576624351495020427198482950071504229207167347
6558576777777177286701304936557391610640126106530691181703044651089722605188953806701403459213320281
5808089799343667327626302130945213872903736220108801105117695877733480189064531910217470169443874163
3832584244180118722969924802280468677972792481543501972792635773019374752411816131336110346636278515
2025719314066945350458761370663419912246343425982617795138317780939776388569707269768897125808057510
5820215724333080476747167351332617073910515221511923875759815480910194264825720385655070694532254434
2492736717699483473345997169380012139188710396203896939423604219583180208393929534336396408389632000
将第一个结果按指数6存储:
存储情况: 指数 6,单位 896,长度 2, 起始地址 0
(1,12655723162254
3074254186782451508292976714038622746607681878288585281408231473512378178027956195710747652085325980
6022480324090378216476943079502557805427190628338764382608844812462648833262360837616408122117117943
9885840257818732919037889603719186743943363062139593784473922231852782547619771723889252476871186000
1746979345491128456625961823082803906151846919244462155525865237400849328072590562389621046897315225
875644122316180187743508015268395673674449282062313109736194403547237180128677530195561357213762079)
(0,5955886055993305285691415712062298005716989191259592654042759685344127698500672486955820193065790
0240943007657817473684008944448183219124163017666607770667585082169598239230274035517738648065600492
7020957328434927088560369202198833631115279881092773926965627768134466456512384193015861573428678606
4666635005011331478791132063966851087156984666487359501751899567095847780641166750534646259047113686
2647349666243426242677175204732314281064417939041868653741187423064985189556742640111598580035644021
8355767157528693974654538285844712912699558903932944483157465002687021497088080531004063984809426956
2358604940334808497006466890020625151696847972751557642596239213626916908988460979427133106101889563
4421094082310408889752954265842691732460538911784960000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
将第二个结果按指数5存储:
存储情况: 指数 5,单位 448,长度 3, 起始地址 0
(2,31794884805730716429152055721086183874092813778136126616109666404596
5627359860409153387332152401486094747743820379852978171227393702071902258025279171567762881754798597
247464416700458173812216435964239230207792410440073758486220800586390592037076475020947088211205)(1,
9694263004962505086392401690955264982568406030898078058431891850042226741211357421969286674545747690
1227150829451488019891380234700614820259850285484671657662435149502042719848295007150422920716734765
5857677777717728670130493655739161064012610653069118170304465108972260518895380670140345921332028158
0808979934366732762630213094521387290373622010880110511769587773348018906453191021747016944387416338
325842441801187229699248022804686779727924815435)(0,197279263577301937475241181613133611034663627851
5202571931406694535045876137066341991224634342598261779513831778093977638856970726976889712580805751
0582021572433308047674716735133261707391051522151192387575981548091019426482572038565507069453225443
4249273671769948347334599716938001213918871039620389693942360421958318020839392953433639640838963200
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
分拆后,前者有两项,后者有三项.共有六次相乘,六次相加.下面分步计算
c(0) 存 aValue6_0 * bValue5_0
存储情况: 指数 6,单位 896,长度 1, 起始地址 1
(1,12655723162254
3074254186782451508292976714038622746607681878288585281408231473512378178027956195710747652085325980
6022480324090378216476943079502557805427190628338764382608844812462648833262360837616408122117117943
9885840257818732919037889603719186743943363062139593784473922231852782547619771723889252476871186000
1746979345491128456625961823082803906151846919244462155525865237400849328072590562389621046897315225
875644122316180187743508015268395673674449282062313109736194403547237180128677530195561357213762079)
存储情况: 指数 5,单位 448,长度 1, 起始地址 2
(2,31794884805730716429152055721086183874092813778136126616109666404
5965627359860409153387332152401486094747743820379852978171227393702071902258025279171567762881754798
597247464416700458173812216435964239230207792410440073758486220800586390592037076475020947088211205)
相乘结果
存储情况: 指数 6,单位 896,长度 1, 起始地址 2
(2,40238726007709377354370243392300398571937486421071463254379991042993851239862
9020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918
8236277271887325197795059509952761208749754624970436014182780946464962910563938874378852604580306521
5562948842101983652573703103290014724750148109444980576890440469490670175217809917910617354758796019
1274979659666909066169796449822416059868306529824351776115937201011049048599564706698534242911418402
7703721593777813401401197485006079053086458547401875621081339214643575022709295962862663965673017900
4818482582358703945182473501119055801884762907612048219985319623988706973928286996108560957298812298
331647260034326071990990874048271472263853864542011612988691523580001369306101901170530208571895195)
c(1) 存 aValue6_0 * bValue5_1
存储情况: 指数 6,单位 896,长度 1, 起始地址 1
(1,12655723162254
3074254186782451508292976714038622746607681878288585281408231473512378178027956195710747652085325980
6022480324090378216476943079502557805427190628338764382608844812462648833262360837616408122117117943
9885840257818732919037889603719186743943363062139593784473922231852782547619771723889252476871186000
1746979345491128456625961823082803906151846919244462155525865237400849328072590562389621046897315225
875644122316180187743508015268395673674449282062313109736194403547237180128677530195561357213762079)
存储情况: 指数 5,单位 448,长度 1, 起始地址 1
(1,9694263004962505086392401690955264982568406030898
0780584318918500422267412113574219692866745457476901227150829451488019891380234700614820259850285484
6716576624351495020427198482950071504229207167347655857677777717728670130493655739161064012610653069
1181703044651089722605188953806701403459213320281580808979934366732762630213094521387290373622010880
110511769587773348018906453191021747016944387416338325842441801187229699248022804686779727924815435)
相乘结果
存储情况: 指数 6,单位 896,长度 2, 起始地址 1
(2,12268790885288
9019629522683014048673960185693580848793103209087415269417115271420756066529625016844725509898865147
6522417009153382141209347403897172189939820338014022783615808935074330485924656879894667685179459894
5380592334666219410914388625363688941549912507649101955574561670716051773106376824228746705711520314
4010966365582013363633374608952822742490604558688361202202284406512762849732753449531458931521304216
133383453763033196576461463680273697450228462087992940811089938403901265392148904862333275910300072)
(1,4546368682184412653638062227550368806383048797700542464307033854026682839317104574947521478962595
3274535223491701348796699662139690320468925555239486968723986131153152675425530855441441065101820178
4577190377432953202549455949804024425720482340518786595371351395188839945050771454177764444169598409
2620399747119277993235590067440962220723884670420292335113987128073656766340414376148329018820353185
6705334504529027266052708040002288994081980768893650000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
c(2) 存 aValue6_0 * bValue5_2
存储情况: 指数 6,单位 896,长度 1, 起始地址 1
(1,12655723162254
3074254186782451508292976714038622746607681878288585281408231473512378178027956195710747652085325980
6022480324090378216476943079502557805427190628338764382608844812462648833262360837616408122117117943
9885840257818732919037889603719186743943363062139593784473922231852782547619771723889252476871186000
1746979345491128456625961823082803906151846919244462155525865237400849328072590562389621046897315225
875644122316180187743508015268395673674449282062313109736194403547237180128677530195561357213762079)
存储情况: 指数 5,单位 448,长度 1, 起始地址 0
(0,197279263577301937475241181613133611034663627851
5202571931406694535045876137066341991224634342598261779513831778093977638856970726976889712580805751
0582021572433308047674716735133261707391051522151192387575981548091019426482572038565507069453225443
4249273671769948347334599716938001213918871039620389693942360421958318020839392953433639640838963200
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
相乘结果
存储情况: 指数 6,单位 896,长度 2, 起始地址 1
(2,249671174548773268918172210372361584050981453945075307080080012)
(1,2383002472921980649889612492166936603245965697150026583658226156904836180152245387182059912468148
8639008969258671226501150886230137276024467022358182913588093323958370156161637392419837759030783015
3261377540760082110632884022449259638987403379554823089676756012280756879443690307776143786195692695
5317209592503997257531988959507342160561304759783672630470731258683132229906735652613856160899779600
6869799622839083976161611827151999710596466355063064287003850606907953991290072103602868393899600062
4399485660975188498290717424850885763184328469210381451771989949105744690011432897036364419114749198
0048137409625660082181606671979662295833376952566899060809858632887764895401413036172485489980682976
2390460384823383080803403539251975690219240015126715557857175700092535252772281260027612477836492800
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
c(3) 存 aValue6_1 * bValue5_0
存储情况: 指数 6,单位 896,长度 1, 起始地址 0
(0,5955886055993305285691415712062298005716989191259592654042759685344127698500672486955820193065790
0240943007657817473684008944448183219124163017666607770667585082169598239230274035517738648065600492
7020957328434927088560369202198833631115279881092773926965627768134466456512384193015861573428678606
4666635005011331478791132063966851087156984666487359501751899567095847780641166750534646259047113686
2647349666243426242677175204732314281064417939041868653741187423064985189556742640111598580035644021
8355767157528693974654538285844712912699558903932944483157465002687021497088080531004063984809426956
2358604940334808497006466890020625151696847972751557642596239213626916908988460979427133106101889563
4421094082310408889752954265842691732460538911784960000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
存储情况: 指数 5,单位 448,长度 1, 起始地址 2
(2,31794884805730716429152055721086183874092813778136126616109666404
5965627359860409153387332152401486094747743820379852978171227393702071902258025279171567762881754798
597247464416700458173812216435964239230207792410440073758486220800586390592037076475020947088211205)
相乘结果
存储情况: 指数 6,单位 896,长度 2, 起始地址 1
(2,18936671106636498520102812597760627990077534884599913812877823099
2421429072859308859499254624110919226103096120516607014314811338638358302819980863636104600815876356
046465783744631665654704345528662912169565110502377538865701026048406678811057835075822856022497561)
(1,9186515905699757604675370810804877999644017104731715715208274908176881982323461356415003682615301
6005597658547222837835418964159327716724225960975823615779927942286460098974465286577706636131095132
6274651851674440739225571546605451431049334744948373037394046740468939190717548673617794943722697262
8835321040621325508106889227668352715869366992235014733220021455891858112720318573805121897628065237
9758508831955437275441780718322758349661137791110180731446276849944549989137750749182672229976339289
6782843089691255331469756165150764745043244282154620008264575289287346774402081997885888046957478011
1646139767343725894958316685403012475629142645390063503972021226902893794644749382886349951817648185
4136067600963066753294139671347282911915060022476800000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
c(4) 存 aValue6_1 * bValue5_1
存储情况: 指数 6,单位 896,长度 1, 起始地址 0
(0,5955886055993305285691415712062298005716989191259592654042759685344127698500672486955820193065790
0240943007657817473684008944448183219124163017666607770667585082169598239230274035517738648065600492
7020957328434927088560369202198833631115279881092773926965627768134466456512384193015861573428678606
4666635005011331478791132063966851087156984666487359501751899567095847780641166750534646259047113686
2647349666243426242677175204732314281064417939041868653741187423064985189556742640111598580035644021
8355767157528693974654538285844712912699558903932944483157465002687021497088080531004063984809426956
2358604940334808497006466890020625151696847972751557642596239213626916908988460979427133106101889563
4421094082310408889752954265842691732460538911784960000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
存储情况: 指数 5,单位 448,长度 1, 起始地址 1
(1,9694263004962505086392401690955264982568406030898
0780584318918500422267412113574219692866745457476901227150829451488019891380234700614820259850285484
6716576624351495020427198482950071504229207167347655857677777717728670130493655739161064012610653069
1181703044651089722605188953806701403459213320281580808979934366732762630213094521387290373622010880
110511769587773348018906453191021747016944387416338325842441801187229699248022804686779727924815435)
相乘结果
存储情况: 指数 6,单位 896,长度 2, 起始地址 0
(1,5773792585438794252562307877676717976169456385377668555928188436448201137657588417736165063791569
5152135767970894930392982487629730038255697578447546183667207711679897263370147607506467111974957088
1993069448928546331489236089991892190539494202447773568681254095982280000166078553824748652236378793
9989248788665179153029285776657965192833448773005434583207447519097345533989113144060995878222100999
9907888856848556140664267283584125547248250292448267706307993687184273141642130453313040794260720174
9945797220595436010808234019442510119850477023894014468491954951573249095985365443930618714467223027
7809003092812077558469877141990857314763373179717103319834104125173605142924823348873789176059310605
1510919596516597383419528863885914658417626113475028521106172578086006244192338573929940168631246625
494493472003756646435294329059737753018018243716058929014194645524403768308469674641663536024462025)
(0,9544570636875341844731053735315056219807678873069020518127268732899608946455213685691020828960759
7138964928364672024366872250524859738073457351558278004592383070525375510979455295282729342248241737
5697752042657479471675693586809078815829865696601055105387651388040098864387497246278882554275440885
7600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
c(5) 存 aValue6_1 * bValue5_2
存储情况: 指数 6,单位 896,长度 1, 起始地址 0
(0,5955886055993305285691415712062298005716989191259592654042759685344127698500672486955820193065790
0240943007657817473684008944448183219124163017666607770667585082169598239230274035517738648065600492
7020957328434927088560369202198833631115279881092773926965627768134466456512384193015861573428678606
4666635005011331478791132063966851087156984666487359501751899567095847780641166750534646259047113686
2647349666243426242677175204732314281064417939041868653741187423064985189556742640111598580035644021
8355767157528693974654538285844712912699558903932944483157465002687021497088080531004063984809426956
2358604940334808497006466890020625151696847972751557642596239213626916908988460979427133106101889563
4421094082310408889752954265842691732460538911784960000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
存储情况: 指数 5,单位 448,长度 1, 起始地址 0
(0,197279263577301937475241181613133611034663627851
5202571931406694535045876137066341991224634342598261779513831778093977638856970726976889712580805751
0582021572433308047674716735133261707391051522151192387575981548091019426482572038565507069453225443
4249273671769948347334599716938001213918871039620389693942360421958318020839392953433639640838963200
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
相乘结果
存储情况: 指数 6,单位 896,长度 2, 起始地址 0
(1,11749728150766805592019148643677074919877232015
7713088657457083698207709904323283523719017750544856221065729769899888025603595414374645542379731578
0749633256207932485054047896658159907032614331631411472752257461533717186155623843841200717960295291
5769359031853719710686758449796497076766692637363080782724594195318639123801103530562965295007454807
2245620661465870507793164294714137629286820413173705690259643503477003904795996727957331366197755633
)(0,889419551726514807917452444655179399582022912935060670845723098202508176529376478501086059477952
4716681196596126698541647046294512650569157488099104286530741953661273842164514842145802584401633599
6491654900156861713525886554424369464320648300341846429443125057650891867136835536603816091752457757
4513908350621709500259738986355427719674282224875758676575234422020757363056949882508796892816275384
8863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941
8727489980942547421735824010636774045957417851608292301353580818400969963725242305608559037006242712
4341690900415369010593398383577793941097002775347200000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
最后相加,结果是:
全值:
40238726007709377354370243392300398571937486421071463254379991042993
8512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087
0737599188236277271887325197795059509952761208749754624970436014182780946464962910563938874378864873
3711918104582578364784997701247663288983595573543251318532395846307555740911426241747434934755342864
6576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928
0908782973084313928444032812315586110369768013573042161687476096758713483120254785893207671691324484
2623613141250878020800026168315102734182797770478463586817016436502415369139828126481021309276124489
6359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475
8477284218896796462449451607653534081989013854424879849599533191017233555566021394503997362807501378
3761530712776192684903435262520001588853514733161170210396817592151090778801939317811419454525722386
5541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243
6716167621791689097799119037540312746222899880051954444142820121873617459926429565817466283029555702
9902432415318161721046583203678690611726015878352075151628422554026517048330422614397428693306169089
7968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367
6601769996128318607883861502794659551311565520360939881806121385586003014356945272242063446317974605
9468257310379008402443243846565724501440282188525247093519062092902313649327349756551395872055965422
8749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221
7659043399018860185665264850617997023561938970178600408118897299183110211712298459016419210688843871
2185564612496079872290851929681937238864261483965738229112312502418664935314397013742853192664987533
7218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864
3211390835062170950025973898635542771967428222487575867657523442202075736305694988250879689281627538
4886339690995982628095612145099487170124451646126037902930912088908694202851064018215439945715680594
1872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271
2434169090041536901059339838357779394109700277534720000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
直接相乘的结果是:
全值:
40238726007709377354370243392300398571937486421071463254379991042993
8512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087
0737599188236277271887325197795059509952761208749754624970436014182780946464962910563938874378864873
3711918104582578364784997701247663288983595573543251318532395846307555740911426241747434934755342864
6576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928
0908782973084313928444032812315586110369768013573042161687476096758713483120254785893207671691324484
2623613141250878020800026168315102734182797770478463586817016436502415369139828126481021309276124489
6359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475
8477284218896796462449451607653534081989013854424879849599533191017233555566021394503997362807501378
3761530712776192684903435262520001588853514733161170210396817592151090778801939317811419454525722386
5541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243
6716167621791689097799119037540312746222899880051954444142820121873617459926429565817466283029555702
9902432415318161721046583203678690611726015878352075151628422554026517048330422614397428693306169089
7968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367
6601769996128318607883861502794659551311565520360939881806121385586003014356945272242063446317974605
9468257310379008402443243846565724501440282188525247093519062092902313649327349756551395872055965422
8749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221
7659043399018860185665264850617997023561938970178600408118897299183110211712298459016419210688843871
2185564612496079872290851929681937238864261483965738229112312502418664935314397013742853192664987533
7218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864
3211390835062170950025973898635542771967428222487575867657523442202075736305694988250879689281627538
4886339690995982628095612145099487170124451646126037902930912088908694202851064018215439945715680594
1872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271
2434169090041536901059339838357779394109700277534720000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
两种方式的结果是否相同:True