У меня есть 5 разных значений, которые сохраняются как биты, например 10010. Я получаю значение как Int из базы данных (не могу это изменить), поэтому, например, 24 означает 11000. Я знаю, что могу получить самый большой бит здесь, используя
if ((decbin($d) & 16) == 16)
но если первый равен 0, мне нужно будет проверить следующий бит, а если он равен 0, мне придется...
Так что в конце концов у меня был бы блок ifs, и если бы было больше битов, блок был бы больше. Есть ли простой способ просто получить «id» (или значение, не имеет значения) старшего бита с 1?