To form one decimal digit, we need log2(10) bits. Since we have 24 bits, we can produce 24/3.3 digits from that. Of course, a digit is either present or not present. Similarly, a 32-bit binary number will take up 32/log2(16) digits in hex -> so 8 digits, or 32/log2(8) in octal. All these numbers would require rounding up to the nearest integer. Floating point numbers may or may not fill all the positions in the number.
I think the calculation formular for how many digits in base 10 should be log(10 base) (2 ^ 24 - 1), approximately to log(10 base) (2 ^ 24 ), could you explain your calculation formular please?