Петля в стиле аппаратного обеспечения. Ерунда?

На днях я научился классному приему в Verilog. Когда нужно что-то делать неоднократно. Вы можете использовать регистр сдвига для подсчета количества приращений. Просто сдвиньте 1 с LSB на MSB, и когда он достигнет MSB, все готово.

В C это было бы примерно так:

for(j=0b1; !(j & (1<<16)); j=j<<1)
{
/*do a thing 16 times*/
}

Я знаю, что он имеет ограниченное применение из-за разрядности, но он не требует добавления, поэтому он быстрый. Итак, мой вопрос: Есть ли в этом какая-то польза? Стоит ли использовать его в C или любом другом языке высокого уровня?

Возможно, во встроенных системах, где ресурсы ограничены.

Спасибо

5
задан Stiggo 26 May 2012 в 07:05
поделиться