unsigned char getBitsNumber(uint64_t val) { switch(val) { case 0: return 0; case 1: return 1; case 2: return 2; case 3: return 2; case 4: return 3; case 5: return 3; case 6: return 3; case 7: return 3; case 8: return 4; case 9: return 4; case 10: return 4; case 11: return 4; case 12: return 4; case 13: return 4; case 14: return 4; case 15: return 4; default: { if(val < 32) return 5; else return log2INT(val) + 1; } } }
unsigned char getBitsNumber(uint64_t val) { if(val == 0) return 0; return log2INT(val) + 1; }