Arbitrary Präzisionsarithmetik mit Ruby

Wie zum Teufel macht Ruby das? Weiß Jörg oder sonst jemand, was hinter den Kulissen passiert?

Leider kenne ich C nicht so gut, alsobignum.c hilft mir wenig. Ich war nur ein bisschen neugierig, dass jemand (im Klartext) die Theorie hinter dem Wunder-Algorithmus erklären konnte, mit dem er arbeitet.

irb(main):001:0> 999**999

368063488259223267894700840060521865838338232037353204655959621437025609300472231530103873614505175218691345257589896391130393189447969771645832382192366076536631132001776175977932178658703660778465765811830827876982014124022948671975678131724958064427949902810498973271030787716781467419524180040734398996952930832508934116945966120176735120823151959779536852290090377452502236990839453416790640456116471139751546750048602189291028640970574762600185950226138244530187489211615864021135312077912018844630780307462205252807737757672094320692373101032517459518497524015120165166724189816766397247824175394802028228160027100623998873667435799073054618906855460488351426611310634023489044291860510352301912426608488807462312126590206830413782664554260411266378866626653755763627796569082931785645600816236891168141774993267488171702172191072731069216881668294625679492696148976999868715671440874206427212056717373099639711168901197440416590226524192782842896415414611688187391232048327738965820265934093 1081720548751882465917608771316578956335865766118572770117824979435229450112484304392012970151194687307123640076393739108119534303094768324532301239967502357107870866410703102887253895951389367847152741504264954161966698326799802534368078641871600545890456640271588179585493744905123990554488191484870493636746116646098900300885495919924663600500425662703483309117954876470459493012866146586500712996956522452660806729899217993425092916353308278742647895873069744723277187043063524459259961556191537839132372127160104102949998775697452873534229034433875627464525228604204166890197329137980737732815335709102052077671571281741848733570508307527779000419432567384990678214884210538708690227386988160598105792210025608829998847632521617475668938351785589611423493044665064023735563187071757108669830353131220683211024578241120149693872254762593428728663635503838407200108329066953605535566475452958499662799808305612429600136545295149951135849090508130151989282832021891946155014034355530601477131397663 23195743324848047347575473228198492343231496580885057330510949058490527738662697480293583612233134502078182014347192522391449087738579081585795613547198599661273567662441490401862839817822686573112998663038868314974259766039340894024308383451039874674061160538242392803580758232755749310843694194787991556647907091849600704712003371103926967137408125713631396699343733288014254084819379380555174777020843568689927348949484201042595271932630685747613835385434424807024615161848223715989797178155169951121052285149157137697718850449708843330475301440373094611119631361702936342263219382793996895988331701890693689862459020775599439506870005130750427949747071390095256759203426671803377068109744629909769176319526837824364926844730545524646494321826241925107158040561607706364484910978348669388142016838792902926158979355432483611517588605967745393958061959024834251565197963477521095821435651996730128376734574843289089682710350244222290017891280419782767803785277960834729869249991658417000499998999

Antworten auf die Frage(10)

Ihre Antwort auf die Frage