Рассмотрите двоичные остатки от деления на 4, это 00,01,10,11
Посмотрите, какие двоичные окончания чисел получатся при применении данного алгоритма к этим остаткам.
Приведённый код проверяет три и четыре последних бита каждого числа из диапазона - соответствуют ли они этим окончаниям. На этом этапе учёбы вы уже должны знать, что x%16 выделяет 4 последних бита числа. Если это непонятно, то сушите вёсла...
Алгоритм рабочий, но неэффективный, т.к. проверяет миллиард чисел. Вместо этого нужно просто посчитать математически количество чисел с нужными окончаниями в данном интервале.