Could someone tell me the logic behind exponenting binary numbers? For example, I want to take 110^10, but I don’t know the logic behind it. If someone could supply me with that, it’d be a great help.. (And I want it to be done in pure binary with no conversions and no looping multiplication. Just logic…)
Could someone tell me the logic behind exponenting binary numbers? For example, I want
Share
peenut is correct in that exponentiation doesn’t care what base you’re representing your numbers in, and I don’t know what you mean by “just logic,” but here’s a stab at it.
A quick search over at Wikipedia reveals this algorithm. The basic ideas is to square your base, store the result, and then square the result and repeat. This will give you the factors of your answer, which you can then multiply together. I think of it as a “binary search”-flavored exponentiation algorithm since you can skip a lot of intermediate steps by squaring and storing.