Subject: Re: [stella] Polar to Cartesian CoOrdinate Converter From: Chris Wilkson <ecwilkso@xxxxxxx> Date: Mon, 22 Oct 2001 12:42:38 0400 (EDT) 
On Mon, 22 Oct 2001, Thomas Jentzsch wrote: > While I knew the square tables based multiplication, the logarithmic formulas are new to me (or maybe I've forgotten them since school). Thanks! Hi everyone... Here's a short refresher for logarithm based arithmetic: Notation: log_a(b) is the base a logarithm of b then by definition, log_a(a^b) = b e.g. log_10(10^3) = 3 e.g. log_e(e^7) = 7 General properties: (the number base doesn't matter) b*log(a) = log(a^b) log(a) + log(b) = log (a*b) log(a)  log(b) = log (a/b) If you're given a log table for one number base, but need to take the log in an arbitrary number base, use the following formula: given the tables for log_a: log_b(c) = log_a(c) / log_a(b) e.g. log_e(100) = log_10(100) / log_10(e) = 4.605170186 > e^4.605170186 = 100 Most calculators have built in log functions for base 10 (=log) and base e (=ln). But you sometimes need to take the base 2 log of a number, so that last can be very useful. e.g. log_2(128) = log(128)/log(2) = 7 (pretty trivial) e.g. log_2(128000000000) = log(128000000000)/log(2) = 36.89735285 Why is that useful? Well, now I know that I need 37 bits to represent the number 128000000000! :) Etc... > Especially the fast division may open some new opportunites. To bad, that I can't use them for my new demo, since I need the remainder too :( > You don't know a formula for this, do you? Ummmm...I'm not sure what your question is. If you take your log tables out far enough (enough digits, that is) You'll get frational answers. I.e. (assuming base 10 log tables) If log(128) = 2.10720997 and log(7) = 0.84509804 then 128/7 = 18.2857143. If log(128) = 2.10720 and log(7) = 0.84509 then 128/7 = 18.28563304 If log(128) = 2.10 and log(7) = 0.84 then 128/7 = 18.19700859 I think you should just be able look at the most significant nbits for the quotient and the rest is the remainder. I'm not sure if this helps. > I guess, the rounding error could be further reduced by using 16 bit value tables (for LOG only of course :) Correct? Yes. More bits in the log table gives better precision. Chris  Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread 


< Previous  Index  Next > 

Re: [stella] Polar to Cartesian Co, Thomas Jentzsch  Thread  Re: [stella] Polar to Cartesian Co, Chris Wilkson 
[stella] Silly game idea, B. Watson  Date  Re: [stella] Silly game idea, Chris Wilkson 
Month 