Наибольший бит, установленный в целом числе, равен целочисленному логарифму base-2 этого целого числа.
Хотя существует множество различных реализаций для выполнения такого рода действий в ассемблере и C, и так далее, больше илиМенее эффективно, вероятно, самый простой способ сделать это в PHP - это использовать логарифм.
Функция log (), безусловно, не самый эффективный способ решения проблемы, но если вы видите язык сценариев, это, вероятно, не будет медленнее (и вполне возможно, быстрее), чем реализация одного из «лучших» алгоритмов в PHP с 2 дюжинами операторов.
Таким образом:
$ самое высокое число бит = (int) (срубы ($ значение, 2));