Ouch, understood! Then what would be the proper way to address a decimal digit in a number? I can only think of (bigNumber asString at: index) asNumber, which is... awful.
2011/5/2 Sven Van Caekenberghe <s...@beta9.be> > Bernat, > > On 02 May 2011, at 11:13, Bernat Romagosa wrote: > > > Hi, try to run the following: > > > > (2 raisedTo: 100000) digitAt: 1 > > > > The expected result (if I understood what digitAt: should return) is 9, > but the message returns 0 instead. In fact, it returns 0 for any index. > > > > Is this a bug or am I missunderstanding how digitAt: should work? > > > > Cheers, > > > > Bernat Romagosa. > > > > p.s. My config is Pharo 1.2 with a 'Croquet Closure Cog VM [CoInterpreter > VMMaker-oscog.51]' on Debian Lenny. > > Consider, > > 2 raisedTo: 32 > > #digitAt: for digits 1 to 4 returns 0, 5 return 1. > From the comments you can see that the number is looked at in base 256. > The above number thus has 5 digits in this base, four are zero and the > highest one is one. > Furthermore, the first digit is the lowest one. > If you inspect the number it might become clearer. > > Any #digitAt: has to depend on the base you use to represent the number, > this one doesn't, so it seems to be useful only to return internal parts of > a number. > > HTH, > > Sven > > >