Это не мой код, это пример из библиотеки. Я - балбес.Правильнее сказать меняет значение ИСТИНА на ЛОЖЬ?неправильно понимаете.
Почитайте описание оператора "!" - он вовсе не "меняет знак". И если в строке
у вас случайно получилось то. что надо, то в строкеC++:dir = !dir;
Это тоже из примера. Тамвы используете этот оператор неправильно, результат будет вовсе не от -2000 до 2000, как вы, вероятно, ожидали.C++:(dir ? !worksteps : worksteps)
C++:
(dir ? -400 : 400)
Очень сложно "читать" код... Толком не понимаю, как прочитать
C++:
(dir ? -400 : 400)
Нет базовых знаний, а книги написаны теми, кто уже забыл, как новички усваивают информацию.
Как же правильно поменять знак у переменной?
C++:
(dir ? worksteps*-1 : worksteps)
C++:
(dir ? -worksteps : worksteps)
ну какой библиотеки?! - это элементарная логика.Я ж вам написал - координаты, которые вы задаете - АБСОЛЮТНЫЕ! Если вы после смещения мотора на точку -8к просите его дергаться от 0 до 2000 - то СНАЧАЛА МОТОР ДОЛЖЕН ВЕРНУТСЯ к нулю! Что тут может быть непонятно?