A Programming Job Interview Challenge #2
While browsing the web, I stumbled on "A Programming Job Interview Challenge #2" at dev102.com. Here is my attempt at a solution written in taak:
# create a look up table
var table = new byte[256];
for (n = 0; n < 256; n++) {
table[n] = reverse_bits(n);
}
# to reverse bits of bytes in an array of bytes
function reverse(image_buffer) {
for (i = len(image_buffer); i >=0; --i) {
image_buffer[i] = table[image_buffer[i]];
}
return image_buffer;
}
# to reverse bits in a byte
function reverse_bits(n) {
var b = 0;
for (int i = 0; i < 8; ++i) {
b = (b << 1) | (n >> i & 1);
}
return b;
}