LINUX.ORG.RU

Как уменьшать увеличивающееся значение?

 


0

2

Здравствуйте.

Есть переменная «А», значение которой меняется от 0 до 5000, мне нужно уменьшать переменную «В» относительно переменной «А». То есть, когда переменная «А» увеличивается, переменная «В» должна уменьшаться, и наоборот.

Например, если переменная «А» равна 2435, тогда в переменную «В» должно записываться 2433.

Подскажите, как это сделать? Может какие-то битовые операции подойдут для этого, или ещё что-то?



Последнее исправление: stD (всего исправлений: 1)

То есть, когда переменная «А» увеличивается, переменная «В» должна уменьшаться, и наоборот.

A += val;
B -= val;
X512 ★★★★★
()
Ответ на: комментарий от X512

Нет, переменная «А» изменяется без моего вмешательства (например приходит по УАРТу), а мне переменную «В» нужно изменять относительно переменной «А».

stD
() автор топика
Ответ на: комментарий от xtouqh

Попробую объяснить подробнее: Это микроконтроллер. Он считывает импульсы с внешнего устройства. Чем больше импульсов он считал за единицу времени, тем меньше нужно записать в переменную. Количество импульсов колеблется в диапазоне от 0 до 5000. Если пришло 5000 импульсов, тогда в переменную нужно записать 0, если пришло 4999, тогда в переменую записываем 1, если пришло 4998, тогда в переменую записываем 2, и т.д. То есть нужно инвертировать значение.

stD
() автор топика

Только не забудь объявить переменную A как volatile.

aureliano15 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.