Perhaps someone is better at math than me :-)
Here are two functions that can be used to convert between bases
(base-2 to base-36) Why use these instead of the built-in
"baseConvert" function? Simple - these can handle larger numbers (not
too certain of the accuracy in really large numbers due to a lack of
a way to test the results)
function convertFromDecimal pIn, pBase
local tInLength
local tNumber
local tOut
put the length of pIn into tInLength
repeat with i = tInLength DOWN TO 1
put (pIn MOD pBase^i) DIV pBase^(i-1) into tNumber
put baseConvert(tNumber, 10, pBase) after tOut
end repeat
return tOut
end convertFromDecimal
function convertToDecimal pIn, pBase
local tInLength
local tNumber
local tOut
put the length of pIn into tInLength
repeat with i = tInLength DOWN TO 0
if (char tInLength-i of pIn is EMPTY) then next repeat
put baseConvert(char tInLength-i of pIn, pBase, 10) into tNumber
put tOut + (tNumber * pBase^i) into tOut
end repeat
return tOut
end convertToDecimal
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution