По всей вероятности, разницы в производительности нет, поскольку компилятор выяснит, что ((1<<24) - 1)
является константным выражением, и оценит его во время компиляции.
Мы можем только догадываться, почемуОригинальный автор кода решил написать так, как они это сделали.Возможно, они думали, что лучше выразить намерение («замаскировать все, кроме 24 наименее значимых битов b
»).
Если бы это было их рассуждением, я лично склонен с ними согласиться.