Есть ещё задачи?
1. Перевернуть 32-битовое число без знака "задом наперёд". То есть сделать биты в обратном порядке.
2. Найти абсолютное значение 32-битового числа без использования ветвлений.
Вообще, можно открыть книжку Генри Уоррена мл. "Алгоритмические трюки для программистов" и решать там все задачи на ассемблере, потом сверить с его решениями на C.
(Оффтоп)
Цитата:
Попробуйте посчитать количество единичных бит в 32-битном числе максимально быстрым позиционно-независимым кодом.
Вот такая полезная операция, а появилась только недавно в виде POPCNT в SSE 4.2