#include "common.h" unsigned char _reverse_bits(unsigned char num) { unsigned char reversed = 0; int i; for (i = 0; i < 8; i++) { reversed <<= 1; // Left shift the reversed variable by 1 reversed |= num & 1; // Use bitwise OR to set the rightmost bit of reversed to the current bit of num num >>= 1; // Right shift num by 1 to get the next bit } return reversed; } int _largest_power_of_two(int num) { int power = 0; while (num > 1) { num = num >> 1; power++; } return 1 << power; }