Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Ben Bacarisse Newsgroups: comp.lang.javascript Subject: Re: Bignumb addition function, suggestion improvements. Date: Sun, 15 Mar 2015 11:06:42 +0000 Organization: A noiseless patient Spider Lines: 29 Message-ID: <87sid6o6yl.fsf@bsb.me.uk> References: <87fv97u25x.fsf@bsb.me.uk> <700a5833-152f-446b-8770-187fe99a3d81@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: mx02.eternal-september.org; posting-host="017616aa25f81ec581c44d76d61ba2f3"; logging-data="32275"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19KJZ6uSfc99DuRQPUDxd5hiKkYK+9EhL4=" Cancel-Lock: sha1:odWt5IIueBmTktftIsNRI7i4jHY= sha1:fMn6wU3g7xswKc000GUdGh9/Xcs= X-BSB-Auth: 1.e5908f87761a15fa90cc.20150315110642GMT.87sid6o6yl.fsf@bsb.me.uk Xref: csiph.com comp.lang.javascript:27048 jonas.thornvall@gmail.com writes: > Den lördag 14 mars 2015 kl. 14:41:35 UTC+1 skrev Ben Bacarisse: >> function naiveAddX(strOne, strTwo) { >> var i1 = strOne.length, i2 = strTwo.length, result = "", carry = 0; >> while (i1 > 0 || i2 > 0 || carry > 0) { >> var dsum = strOne.digitValueAt(--i1) + strTwo.digitValueAt(--i2) + carry; >> if (dsum >= 10) { >> dsum -= 10; >> carry = 1; >> } >> else carry = 0; >> result = dsum + result; >> } >> return result; >> } > I just realised there is things i do not get in your code, i was > trying to implement reading the array backwards **for > (i=length-1;i>=0;i--){** > When i realised they will slide relative eachother, if not padded, but > i can't see you doing any padding? I use two indexes and when either goes negative digitValueAt simulates padded number by returning 0. -- Ben.