long decimal to binary

by Darby Rathbone

JavaScript

for (var k = 0, n = 0, p = n + 1, k = 0; 1 << k + 1 > 1 << k; k++);
k >>= 1;
n = (1 << k) - 1;
p = n + 1;
q(1, 1, 1);
var r = [],
    s = s5 = r;

function q(b, d, a) {
    d = Math.ceil(d / k) + 1;
    buff = Array(a > d ? a : d);
    t(buff, b);
    return buff
}

function u(b) {
    var d, a, c, f = b.length;
    c = q(0, 10 * f, 0);
    for (a = 0; a < f; a++) {
        d = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-".indexOf(b.substring(a, a + 1), 0);
        36 <= d && (d -= 26);
        if (10 <= d || 0 > d) break;
        for (var g = c, h = void 0, l = void 0, e = void 0, m = void 0, l = g.length, h = e = 0; h < l; h++) e += 10 * g[h], m = 0, 0 > e && (m = -(e >> k), e += m * p), g[h] = e & n, e = (e >> k) - m;
        g = c;
        m = e = l = h = void 0;
        g[0] += d;
        l = g.length;
        for (h = e = 0; h < l && (e += g[h], m = 0, 0 > e && (m = -(e >> k), e += m * p), g[h] = e & n, e = (e >> k) - m, e); h++);
    }
    for (f = c.length; 0 < f && !c[f - 1]; f--);
    f = 0 > f + 1 ? 0 : f + 1;
    b = Array(f);
    d = f < c.length ? f : c.length;
    for (a = 0; a < d; a++) b[a] = c[a];
    for (; a < f; a++) b[a] = 0;
    return b
}
function t(b, d) {
    var a, c;
    c = d;
    for (a = 0; a < b.length; a++) b[a] = c & n, c >>= k
}

function v(b, d) {
    var a, c = "";
    s.length != b.length ? (buff = Array(b.length), w(buff, b), s = buff) : w(s, b);
    if (-1 == d) {
        for (a = b.length - 1; 0 < a; a--) c += b[a] + ",";
        c += b[0]
    } else for (; !x();) {
        a = d;
        for (var f = s, g = void 0, h = 0, l = void 0, g = f.length - 1; 0 <= g; g--) l = h * p + f[g], f[g] = Math.floor(l / a), h = l % a;
        a = h;
        c = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-".substring(a, a + 1) + c
    }
    0 == c.length && (c = "0");
    return c
}

function w(b, d) {
    var a, c = b.length <...