Here's how it works. To convert a number from base 10 to some other base, first you divide the initial number (dividend) by the new base (divisor). The result is the quotient and the remainder. You use the remainder as an index into your numerical symbol list (0.1,2... etc.) to find the first digit in the new base. You append that number to string that will form your new number. Then you take the quotient and repeat the process over and over until the quotient is zero.
The re-base macro creates the symbol list and sets up to call the base converter macro (BCM). The BCM, when called the first time, sets up an empty result string. The BCM's outer list finds the remainder of the passed number divided by the base and adds 1. It adds one because the "nth" operator, used in a following step, starts its index at "1" rather than zero. The BCM's 2nd, nested list finds the quotient from dividing the current number by the base (divisor). The next, nested list breaks the symbol list into into its parts, finds the symbol with the index determined by the outer list, and then adds on the result string to the end of the new symbol, forming the new result string. The fourth nested list checks if the quotient is zero. If so, it returns the result and the macro is done. If the quotient is not zero, then the BCM macro recursively calls itself again, passing in the base, the new quotient, and the growing result string. I realize now that I probably should have just defined the base in the re-base macro. Oh well. Probably doesn't make much difference. On Friday, October 11, 2019 at 6:45:12 AM UTC-7, @TiddlyTweeter wrote: > > In another thread Mark S. presented a magic macro to convert from decimal > to other bases. > > I think its a rather marvellous bit of coding.* I have no idea how it > works*, but it does work well. > > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a4a0ee15-8209-4a45-b643-e0e43d1cf1fd%40googlegroups.com.

