Если хранить число без знака, то
- в 1 байт помещаются числа от 0 до 255 (2⁸-1)
- в 2 байта помещаются числа от 0 до 65 535 (2¹⁶-1)
- в 3 байта помещаются числа от 0 до 16 777 215 (2²⁴-1)
- в 4 байта помещаются числа от 0 до 4 294 967 296 (2³²-1)
Задано число 33 554 433 и для его размещения потребуется 4 байта.
Можно, конечно, этим всем не заниматься, если есть возможность вычислять логарифмы. В данном случае логарифм по основанию 2, округленный в большую сторону до целых, даст необходимое для представления числа количество битов.
㏒₂33554433 = ㏑33554433/㏑2 ≈ 25.00000004 ⇒ 26 бит требуется
Переводим в байты: 26/8 = 3.25 , т.е. потребуется 4 байта.