You are on page 1of 1

numberlist.js (JavaScript) 2011 Aivosto Oy, Finland www.aivosto.

com

list.innerHTML = "Creating list...";

Initialize Maximum number to print

var MAX = 10000; var radixlist = [10, 2, 8, 16, 3, 4, 12];

Max column

var title = ["Decimal","Binary","Octal", "Hex", "Ternary","Quaternary", "Dozenal"] var MAXR = 6; var maxlen = []; var T = "";

Determine width of each column

r=0

Header line 1

r <= MAXR ?

No

Yes maxlen[r] = MAX.toString(radixlist[r] ).length + 3;

var row = ""; r=0

r <= MAXR ?

maxlen[r] < title[r].length+2 ?

Yes

No

No Yes maxlen[r] = title[r].length+2;

var th = " " + title[r]; row += th.slice(-maxlen[r]);

T += row + "\n";

Header line 2

r++

row = ""; r=0

maxlen[r] < 9 ?

Yes No r <= MAXR ? maxlen[r] = 9;

Yes var th = " Base-" + radixlist[r]; row += th.slice(-maxlen[r]);

No

List the numbers

T += row + "\n";

r++

r++

d=0

Done

d <= MAX ?

For each decimal number create columns with a number for each radix Yes row = ""; r=0

No

T = "<pre>" + T + "</pre>"; list.innerHTML = T;

End

r <= MAXR ?

Create a single number using the given radix

No T += row + "\n"; Create the number

Yes radix = radixlist[r];

d++

Append prefix if required

number = d.toString(radix) .toUpperCase();

switch (radix)

8?

No Yes 16 ?

number = "0" + number;

Yes

number = "$" + number;

default

Right-align

number = " " + number; number = number.slice(-maxlen[r]); row += number;

r++

You might also like