just to add an example for the 'for if' thing:
void printBinary16(unsigned int iIn) {
// 0b1234567812345678
for (unsigned int mask = 0b1000000000000000; mask; mask >>= 1) {
if (mask & iIn) {
Serial.print('1');
}
else {
Serial.print('0');
}
}
}