doing math on arbitrarly large numbers
Hello,
I'm making an app which requires doing math on some arbitrary large numbers. Since math is usually my achilles heal, I have no idea how to do this.
Specifically, i have a byte[] number and I'm trying to implement these two functions:
byte[] root(byte[] number,int radix)
byte[] pow(byte[] base,int power)
can someone give me a clue on how to do this?
> Hello,
> I'm making an app which requires doing math on some
> arbitrary large numbers. Since math is usually my
> achilles heal, I have no idea how to do this.
You mean Achilles heel? Apparently spelling isn't a strong suit, either.
> Specifically, i have a byte[] number and I'm trying
> to implement these two functions:
Who told you that a byte array would be a good way to go?
Ever thought about starting with arithmetic and working your way up?
What happened to abstraction? Shouldn't you create a class that hides the fact that you're using a byte array or something else?
> byte[] root(byte[] number,int radix)
Newton Raphson iteration is a good place to start for roots:
http://mathworld.wolfram.com/search/
> byte[] pow(byte[] base,int power)
If it's really an integer power, just loop "power" times and multiply the number by itself each time. Not too difficult.
%
alphabet,for chrisake google it... there are open source "libraries" in java to perform both these functions. it shouldn't take you more than 10 minutes to find both of them.why does everyone want to reinvent the square wheel all the time? sheesh!keith.