Skip to content

Instantly share code, notes, and snippets.

@btoews
Created October 17, 2011 04:27
Show Gist options
  • Save btoews/1291931 to your computer and use it in GitHub Desktop.
Save btoews/1291931 to your computer and use it in GitHub Desktop.
Radix Conversion Nodejs Port
#RE: https://gist.github.com/1291580
output = []
convert_base = (input,input_len,input_base,output_len,output_base) ->
output[i] = 0 for i in [0...output_len]
for i in [0...input_len]
n = input[i]
o=0
for j in [(output_len-1)..0]
m = (output[j]*input_base)+o
output[j] = m % output_base
o = Math.floor(m / output_base)
o = n
for j in [(output_len-1)..0]
if o == 0
break
m = output[j] + o
output[j] = m % output_base
o = Math.floor(m / output_base)
output
input_base = 256
output_base = 1024
str = "hello, world!"
input_len = str.length
input = (str.charCodeAt(i) for i in [0..input_len-1])
output_len = Math.ceil(input_len * (Math.log(input_base)/Math.log(output_base)))
convert_base(input,input_len,input_base,output_len,output_base)
for i in [0...output_len]
console.log "output_byte: #{output[i]}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment