Как сравнить значения int? - PullRequest
0 голосов
/ 05 января 2012

Я хотел бы знать, как сравнивать значения int.

Я хотел бы знать, что как только я сравниваю оба значения int, я хотел бы знать, как далеко друг от друга находятся эти два значения, и если это такможно указать это в операторе 'if'.

Единственная проблема, с которой я столкнулся, заключается в том, что (скажем, int HELLO) значение HELLO всегда меняется случайным образом, поэтому я хотел бы знать, как мне всегда сравнивать HELLOзначение и другое значение типа int на ходу, так что в любой момент, если в результате обоих значений будет только 50 чисел (отрицательных или положительных), это вызовет, скажем, timer2-> Stop ();.

Спасибо.

Ответы [ 2 ]

1 голос
/ 05 января 2012

Расстояние между двумя int числами рассчитывается как абсолютное значение их разности:

int dist = abs(value1 - value2);

Вы можете поместить его в оператор if или сделать что угодно с результатом:

if (abs(value1 - value2) > 50) ...
1 голос
/ 05 января 2012

Если у вас есть два значения типа int, вы можете вычесть их, чтобы узнать разницу между ними. Затем в своем if-тесте вы просто проверяете, находятся ли они в пределах 50 друг от друга, а затем выполняете код ...

Вот какой-то псевдокод для работы с вами:

int valueOne = 100;
int valueTwo = 50;

int differenceBetweenValues = valueOne - valueTwo;

if ( (differenceBetweenValues >= 50) || (differenceBetweenValues >= -50) ) {
   timer2->Stop();
}

Затем вы можете сделать это как функцию и передать свои значения (как вы уже говорили, они каждый раз разные).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...