RosettaCodeData/Task/Non-decimal-radices-Convert/Sidef/non-decimal-radices-convert-2.sidef
2016-12-05 23:44:36 +01:00

20 lines
393 B
Text

static to = [@|'0'..'9', @|'a'..'z']
static from = Hash(to.pairs.map{@|_}.flip...)
func base_to(n, b) {
var s = ""
while (n) {
s += to[n % b]
n //= b
}
s.reverse
}
func base_from(n, b) {
var t = 0
n.each { |c| t = (b*t + from{c}) }
t
}
say base_from("rosetta", 36) # string to number
say base_to(60272032366, 36) # number to string