История изменений
Исправление alysnix, (текущая версия) :
Как я вижу по ассемблеру I и III варианты примерно одинаковые
суммирование более дорогая операция чем OR битов, по самой теории. поскольку суммирование предполагает перенос, а OR - нет. и если любой нетупой компиллятор поймет, что беззнаковое умножение на степень двойки это сдвиг, то суммирование он на OR не заменит. самый правильный и дешевый вариант - 3. потому что он делает ровно то, что ты хочешь сделать.
Исходная версия alysnix, :
Как я вижу по ассемблеру I и III варианты примерно одинаковые
суммирование более дорогая операция чем OR битов, по самой теории. поскольку суммирование предполагает перенос, а OR - нет. и если любой нетупой компиллятор поймет, что беззнаковое умножение на степень двойки это перенос, то суммирование он на OR не заменит. самый правильный и дешевый вариант - 3. потому что он делает ровно то, что ты хочешь сделать.