- 1
- 2
- 3
- 4
- 5
/* optimized division by 16 */
n >>= 4
/* optimized remainder by 16 */
k &= 0xF
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−47
/* optimized division by 16 */
n >>= 4
/* optimized remainder by 16 */
k &= 0xF
И такой prematurely optimized хуеты в кодобазе ОЧЕНЬ МНОГО.
в еmbedded такую хуйню поймет каждый без словоря, вроде паттерна
а если это не еmbedded то звиняйте, действительно гавно
Там просто компиляторы хуёвые и старые бывают, которые оптимизациям не обучены... И написав x *= 16 или, о ужас, x /= 16 ты для некоторых контроллеров (не будем показывать на них пальцем) рискуешь получить софтверную эмуляцию, которая все тайминги распидорасит.
Поскольку a << b = hyper(a, 2, hyper(2, 3, b)), логично предположить, что a < b = hyper(a, 1, hyper(2, 2, b)). Но C какой-то неконсистентный. Не знаю, как вообще кто-то может писать на языках с подобными операторами.
Но бля, есть культисты карго, которые цвет на ргб раскладывают именно делениями. Потому что им училка же сказала, что сдвиги это предварительная оптимизация и это плохо, а своего мозга понять, когда именно это плохо - нету.
Не-не-не.