wracając do konkretnego pytania i zakładając że autor chce się czegoś nauczyć
żeby wyznaczyć najwyższą możliwą potęgę wystarczy użyć logarytmu n-tego stopnia, lub korzystając ze wzoru - logarytmu dowolnego stopnia z liczby przez logarytm dowolnego stopnia z podstawy
otrzymaną liczbę wystarczy zaokrąglić w dół, czyli:
$najwyzsza_potega = floor(log($liczba) / log(16));
zapomniałem że php akurat umożliwia podanie podstawy logarytmu - w takim przypadku wystarczy:
$najwyzsza = floor(log($a, 16));
poprzedni kod jest dobry dla innych języków programowania z których nie wszystkie mają funkcje do liczenia logarytmu o dowolnej podstawie
oczywiście w tym konkretnym przypadku jeszcze lepiej użyć po prostu funkcji dechex
;)
połączenie postów - furious programming