Convert base to base

by Erik East

CSS

.print {
    position: relative;
    display: inline-block;
    background-color: black;
    color: white;
    font-family: Helvetica, Helvetica-Neue, sans-serif;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: -1.5px;
    padding: 4px 8px;
}

body {
    background-color: #eeeeee;
}
}

JavaScript

$(document).ready(function() {
	var a = toBase(10, 2)
    var b = toBase(fromBase(a, 2), 5)
    var c = toBase(fromBase(b, 5), 10)
    print(a, b, c)
})

function toBase(n, b) {
	var d = 0
    var c = 0
    while (n > 0) {
        c = Math.max(c * 10, 1)
        d += n%b * c
        n = Math.floor(n/b)
    }
    return d
}

function fromBase(n, b) {
    var c = 0
    var d = 0
    while (n > 0) {
        c = Math.max(c * b, 1)
		d += n%10 * c
        n = Math.floor(n/10)
    }
    return d
}

function print() {
    var args = Array.prototype.slice.apply(arguments)
    var str = ""
    for (arg of args) {
        str += arg + ", "
    }
    str = str.substring(0, str.length - 2)
    var el = newel(str)
    $("body").append(el)
    $("body").append("</br>")
}

function newel(str) {
    var el = document.createElement("div")
    $(el).html(str)
    $(el).addClass("print")
    return el
}