EL84 💡
переменная vehicleSpeed у меня int, наверное, проблема в этом, хотя деление всё же должно давать цифру правильно, т.к. сама переменная liters у меня float
Евгений
а, понял, кажется
Главное послать вопрос во вселенную =) У меня супруга для этого есть, я обычно у нее спрашиваю... она ни чего не понимает и думает я умный очень
EL84 💡
не понимать
EL84 💡
умножение работает правильно, а деление нет)
EL84 💡
т.у. же инт множу на 1.03 как коэф скорости и получаю float на выходе
Евгений
умножение работает правильно, а деление нет)
Это у тебя не правильно работает =) Просто прими это... На днях об этом говорили
🛡Aleksej
Есть такой метод в некоторых фирмах. В оффисе сидит работник плюшевый медведь. Если у когото нерешается проблема то перед тем как отвлекать коллег, обьясняешь свою проблему медведю. В половине случаев это помогает найти правильное решение.
Slava
if (vehicleSpeed != 0){liters=((100/vehicleSpeed)*fuelConsumption);} else {liters = 0;}
Сначала умножаем, потом делим, ёклмн !
EL84 💡
там же в скобках
EL84 💡
какая разница то?
Евгений
какая разница то?
Точность выше
EL84 💡
Точность выше
та суть не меняется абсолютно
🛡Aleksej
Сколько платят медвежонку? Котов берут?
коты не будут столько пурги слушать 😂
EL84 💡
по факту, два числа меняем местами, при любых раскладах у тебя первым будет действие в скобках (т.е) деление
EL84 💡
Без этого оно и работать то не будет...
Евгений
коты не будут столько пурги слушать 😂
Кстати.... давно кошак у меня был... так вот Около подъезда стоят бабки, зубы сушат Мой кошак за каким то хреном полез на рядом стоящее дерево, повернулся хвостом к бабкам и пометил их =)
Slava
какая разница то?
А ты проверь
Евгений
Без этого оно и работать то не будет...
Лень искать, короче... при делении float на int на выходе получаем int многие даже не поверили и проверили =)
Евгений
А ты проверь
В конкретно этом случае какая нафиг разница? =)
Евгений
00:40:08.346 -> 1.10:909.09:10.00 00:40:08.346 -> 2.10:476.19:10.00 00:40:08.346 -> 3.10:322.58:10.00 00:40:08.346 -> 4.10:243.90:10.00 00:40:08.346 -> 5.10:196.08:10.00 00:40:08.346 -> 6.10:163.93:10.00 00:40:08.346 -> 7.10:140.85:10.00 00:40:08.346 -> 8.10:123.46:10.00 00:40:08.346 -> 9.10:109.89:10.00 00:41:29.805 -> 1.10:909.09:10.00 00:41:29.805 -> 2.10:476.19:10.00 00:41:29.805 -> 3.10:322.58:10.00 00:41:29.805 -> 4.10:243.90:10.00 00:41:29.805 -> 5.10:196.08:10.00 00:41:29.805 -> 6.10:163.93:10.00 00:41:29.805 -> 7.10:140.85:10.00 00:41:29.805 -> 8.10:123.46:10.00 00:41:29.805 -> 9.10:109.89:10.00 @deletedacc6p14p
Евгений
Шо так, шо эдак
Slava
Шо так, шо эдак
Считай не в км, а в метрах. Т.е. не в дробных, а в целых.
Евгений
В метрах - это будет быстрее =) Как буду 9250 мучать, попробую
I
100 целочисленная константа, не?
I
100.0 напиши, может станет лучше
I
И сначала умножай, потом дели, как умные люди советуют
Dr Zlo
Иначе 100 это int, а int/int = int
Dr Zlo
Нечего промоутить
Dr Zlo
Точность примерно одинаково теряется
I
Точность примерно одинаково теряется
Не совсем понял довод про ноль и лень сейчас формально обьяснять, но это связано с тем, что точность деления не безгранична. У нас же флоат, а не рациональные числа.
EL84 💡
И сначала умножай, потом дели, как умные люди советуют
как можно сначала умножить на число, которое мы ещё не знаем?
EL84 💡
сначала в любом случае будет деление в скобках
Dr Zlo
100.0 * consumption / speed
100.0 это кстати double, такое умножение может быть очень медленным
I
100.0 это кстати double, такое умножение может быть очень медленным
В огороде бузина, а в киеве дядька. Про скорость вопроса не было
Dr Zlo
И промоутит все выражение в double
I
Да вообще надо все перевести в unsigned long, умножить 100000 на расход, разделить на скорость, а результат сдвинуть на 5 битов вправо. И будет быстро и всего на пару % ошибка :D
Тамар
в ардуинах это флоат
хуйню спизданул, не везде и не всегда
I
это уже похоже на число с фиксированной точкой
Ага. Это типа как валюту раньше хранили в центах.
Ruslan
целое в сотых долях цента
I
Ну для тонкой настройки можно суффиксы или что там для явного указания типа поставить
Евгений
Ага. Это типа как валюту раньше хранили в центах.
Да и сейчас как я понял целиком гоняют 5р = 500
Slava
Да и сейчас как я понял целиком гоняют 5р = 500
Банковский софт на ардуино написан, разработчики потрахались с float и решили, да ну нахуй этот float, будем в uint считать. 😉
EL84 💡
пацаны, у меня отрисовка на экране больше секунды занимает, а вы о скорости работы с float 😂
EL84 💡
даже если абсолютно всё считать в float, хуже не станет в данном случае
Тамар
это как нужно софт писать, чтобы отрисовка больше секунды
Тамар
вы там в 4к рендерите?
I
#define float uint8_t решит все проблемы!
EL84 💡
использующий проприетарный протокол для отрисовки
EL84 💡
быстрее не будет
Slava
это экран 90х годов разработки
Можно фото этого антиквариата?
EL84 💡
типа такой
Тамар
вот это рисовать секунду?
EL84 💡
штатный бк
Тамар
на тини 1MHz рисуем чтоли?
EL84 💡
не это, конекретно, э
EL84 💡
это просто пример
EL84 💡
да там протокол тупой, вы думаете так просто рисовать на дисплее бк штатного?)
EL84 💡
типа подключился сразу к дисплею и рисуй?)
Евгений
типа подключился сразу к дисплею и рисуй?)
Не начинай, у меня слезы брызнут :)))
EL84 💡
этот дисплей штатными средствами может выводить инфу только от магнитолы и системы навигации, для отрисовки эмулируется вывод навигации
Тамар
жесть
Тамар
проще наверное только заменить его...
EL84 💡
нуууу, не проще)