что означает тире?
- Войдите на сайт для отправки комментариев
Ср, 15/06/2016 - 18:15
Есть код мигание светодиодом, без delay
Там во такая строчка
if
(currentMillis - previousMillis > interval)
Что означает - между
currentMillis и previousMillis?
Если было бы так if
(currentMillis && previousMillis > interval) то другое дело
минус
if
(currentMillis && previousMillis > interval) то другое дело
опиши нам словами, какое бы дело было?
Я понял это символ как за это. Типа сравнение. CurrentMillis и previousMillis больше interval
Там во такая строчка
if
(currentMillis - previousMillis > interval)
если (текущаяMillis минус предыдущаяMillis больше интервала)
То есть, из значения currentMillis вычитается значение previousMillis и результат сравнивается со значением interval. Если результат вычитания больше интервала, то условие выполняется.
Если было бы так
if
(currentMillis && previousMillis > interval) то .....
..... то получилась бы фигня, а не то что нам надо.
Оригинальный символ "как за это" :-)
ясно - купи кондиционер.
там переменные в скобки надо взять, а то приоритет непонятен, хотя возможно и работает..
А зачем вообще отнимать ноль от текущего состояния? Нельзя написать if(currentMillis>interval)
{
Выполнить блок
}
Там не всегда ноль. После первого выполнения условия, в previousMillis запишется текущее значение millis на момент выполнения этого условия:
То есть, ноль там будет только до первого срабатывания условия.
P.S. Предвидя очередное недопонимание: здесь не сравниваются значения previousMillis и currentMillis (оператор ==), здесь значение currentMillis присваивается переменной previousMillis (оператор =)
А что это тебе даст? После того, как currentMillis станет больше интервала - условие будет выполнятся бесконечно, т.к. currentMillis всегда увеличивается. Меньше интервала на некоторое время оно станет только через 50 дней, когда переполнится millis()
слушай, ты когда время засекаешь не секундомером, а часами - как ты это делаешь?
отнимаешь время старта от времени финиша... или, как-то иначе?
я наоборот суммирую время от старта до финиша. Ну ни как не отнимаю
Меньше интервала оно станет только через 50 дней, когда переполнится millis()
зря об этом написали, скоро последует вопрос ............. :)
я наоборот суммирую время от старта до финиша. Ну ни как не отнимаю
Вы наверно живёте по другим законам физики в параллельной вселенной?
Дано: старт произошел в 17 минут, финиш был в 52 минуты. Как узнать, сколько прошло минут?
я наоборот суммирую время от старта до финиша. Ну ни как не отнимаю
ок. и, у тебя гуманитарное образование, а по физике и математике в школе были твёрдые тройки?
Ну да. Отнимать надо.
Если применить это к теме, то получается.
Если прошло N времени , отнимем от него 0 и если N больше секунды то выполняем действие?
И двойки были.
Если применить это к теме, то получается.
Если прошло N времени , отнимем от него 0 и если N больше секунды то выполняем действие?
получается, что твой мозг не способен оперировать абстрактными объектами - пиши стихи.
Хотя. Нифига. Лично я прибавляю. Например, решил я засеч время. На часах. 15.30. закончил дело в 18.25. Я прибавляю к 15 3, а минуты округляю. Так как эти пять минут не играют роли. Я думаю не сколько нужно отнять от конечной суммы, а сколько нужно прибавить к первоначальной, чтобы получилась конечная.
Благодаря абстрактному мышлению мы выходим за пределы конкретных действий: не видя предмета, мы можем его себе представить, создать его образ, и мы можем свободно преобразовывать его в мыслях.
Фантазии у меня хватает.
Ну для начала хотелось бы точности
Хотя. Нифига. Лично я прибавляю. Например, решил я засеч время. На часах. 15.30. закончил дело в 18.25. Я прибавляю к 15 3, а минуты округляю. Так как эти пять минут не играют роли. Я думаю не сколько нужно отнять от конечной суммы, а сколько нужно прибавить к первоначальной, чтобы получилась конечная.
ок. следующий ебанутый вопрос.
топикстартеру учить операторы и приоритет операций в с++
просто расставлять скобки не поможет, т.к. будешь постоянно путаться в чужом коде.
Фантазии у меня хватает.
фантазия и абстрактное мышление - примерно, то же самое, что стихи и мануал к автомобилю.
Почитал гугл. И понял что такое абстракция. Я научусь. Мне все равно для понимания некоторых вещей нужна точность, чтобы быть уверенным почему так, а не иначе.
3, а минуты округляю. Так как эти пять минут не играют роли. Я думаю не сколько нужно отнять от конечной суммы, а сколько нужно прибавить к первоначальной, чтобы получилась конечная.
Считайте что компьютеры не умеют думать как вы.
Сколько нужно прибавить к 463684377 чтобы получилось 458422809 ?
Речь шла о времени. В этом случае конечно проще вычесть
Хотя. Нифига. Лично я прибавляю. Например, решил я засеч время. На часах. 15.30. закончил дело в 18.25. Я прибавляю к 15 3, а минуты округляю
А почему прибавляете именно 3, откуда взялась эта цифра? А может надо 4 или 5? Откуда вы узнаёте, что надо прибавить именно 3?
как можно прибавлять ))), если писали, что, например, был старт в 15:00 и бежишь ты, бежишь, когда прибежишь, знаешь ? т.е ты считаешь в данные момент, и как только прибежал, остановил время и посчитал время в пути, это только экстрасенсы плюсуют.. )))
Арифметика одна. Я же не просил бананы с километрами складывать. О времени:
Сколько нужно прибавить к 463684377 минутам чтобы получилось 458422809 минут ?
VeD, сколько вам лет?
это скорее всего просто тролль.
VeD,
Коль ты старый человек,
Дядей будешь нам навек.
Коли парень ты румяный,
Братец будешь нам названый.
Коль старушка, будь нам мать,
Так и станем величать.
Коли красная девица,
Будь нам милая сестрица.
Кто же? Выдь и покажися,
С нами честно подружися.
Ну так и заставьте компьютер тогда думать как вам надо, вместо
currentMillis - previousMillis > interval
пишите
previousMillis + interval < currentMillis
Обязательно стебатся. Ещё троллем обозвали:) Мне тогда будет понятнее, занести в переменную int variable=currentMillis-previous; чтобы не тупить с этим минусом
Ну так и заставьте компьютер тогда думать как вам надо, вместо
currentMillis - previousMillis > interval
пишите
previousMillis + interval < currentMillis
nevkon, учи арифметику, нельзя складывать.
Нельзя складывать? А как же абстрактное мышление?
Строго говоря это два разных знака
‒ это тире
- это минус
А по сути программа работает, милисекунды отсчитываются. Сама программа выполняется в цикле, раз за разом пробегая код в скобках после loop. Каждый раз в переменную currentMillis запиывается текущее время, например 100, потом оно сравнивается с сохраненным, например 45. Потом проверяется не прошел ли интервал (скажем 80), и не порали нырнуть в скобки за проверкой
1 цикл
currentMillis - previousMillis > interval
100 - 45 > 80 (неверно, не ныряем в скобки)
2 цикл (время уже не 100, а 145 например)
currentMillis - previousMillis > interval
145 - 45 > 80 (верно, ныряем в скобки)
в скобках запоминаем текущее вермя previousMillis становится 145 и делаем, то ради чего пришли, переключаем светодиод.
3 цикл
180-145> 80 неверно
4 цикл
230 - 145 верно, опять ныряем, запоминаем и переключаем светодиод
Благодаря абстрактному мышлению мы выходим за пределы конкретных действий: не видя предмета, мы можем его себе представить, создать его образ, и мы можем свободно преобразовывать его в мыслях.
Фантазии у меня хватает.
Это заметно.
что вы флуд разводите по говновопросу..
Спасибо. Хоть один нормально смог объяснить.
И ещё почему переменная состояния ledstat int, а не boolean?
По сути значения не имеет будет эта переменная иметь тип boolean, byte, int, long int. Там будет хранитьтся всегда 0 (low, false, выключено) или 1 (high, true, включено). Конечно если будете писать программу с оптимизацией выбирайте тип либо bool либо byte, если не ошибаюсь эти типы занимают одинаковое количество памяти.
Обязательно стебатся. Ещё троллем обозвали:) Мне тогда будет понятнее, занести в переменную int variable=currentMillis-previous; чтобы не тупить с этим минусом
да, да... имя переменной variable это пять.
потом немного поскладываешь тип int с типом unsigned long и будут еще новые впечатления.
По сути значения не имеет будет эта переменная иметь тип boolean, byte, int, long int. Там будет хранитьтся всегда 0 (low, false, выключено) или 1 (high, true, включено). Конечно если будете писать программу с оптимизацией выбирайте тип либо bool либо byte, если не ошибаюсь эти типы занимают одинаковое количество памяти.
значение есть и достаточное, тип int занимает 4 байта, а bool 1байт, смысл занимать память в 4 байта, если можно в 1 и это не существенно если одна переменная, но это изначально неверный подход..
тип int занимает 4 байта, а bool 1байт
В какой системе?
тип int занимает 4 байта, а bool 1байт
В какой системе?
солнечной!
В какой системе?
ну в уно это 16 битные, а в дуе уже 32 битные типы int, но в любом случае bool выгодней и правильней, для этого он и существует.
variable = переменная. Имя её уже будет другое. И при чем тут складывание int и unsigned long?
Что плохого, если занести вычисление времени в переменную?
По-моему ничего не изменится, а мне будет понятнее.
Пора бы понять что надо сложить числа.
Код
Результат.
что бы прибавить -5261568 минут, нужно иметь -5261568 минут, а у нас нет машины времени, что бы оперировать отрицательным временем.
Так я ж и возмущаюсь, нахрена для примера выбирать такие числа, чтоб ответ отрицательный. Только новичка путает.