![]() |
I was wondering what prime numbers would look like in binary format:
function isPrime(n) {
if (n < 2) return false;
if (n < 4) return true;
if (n % 2 === 0) return false;
for (var i = 3; i <= Math.sqrt(n); i += 2)
if (n % i === 0) return false;
return true;
}
function int2bin(n) {
return n.toString(2).split('').map(function(c) { return c === '1' ? '#' : '.'; }).join(' ');
}
function centerLine(s, w) {
var pad = Math.floor((w - s.length) / 2);
return pad > 0 ? ' '.repeat(pad) + s : s;
}
var lines = [], prevBits = 0, width = 15;
for (var n = 2; n <= 255; n++) {
if (isPrime(n)) {
var bits = n.toString(2).length;
if (prevBits !== 0 && bits !== prevBits) lines.push('');
lines.push(centerLine(int2bin(n), width));
prevBits = bits;
}
}
Screenshot loaded in Photoshop with a “Chalk & Charcoal” filter. |