Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
x++;
x=x & 0x1f;
Вторая не работает вообще. Компилятор читает Y из памяти в регистр (допустим, считан ноль), инкрементирует и кладет обратно в память. Затем снова берет значение из регистра (но ведь там ноль !!!), домножает на 0x1f и кладет в память, в результате переменная не изменяется:
y=((y++) & 0x1f);
Прокомментируйте, плиз, а то у меня уже "крыша едет" ...