Все не надо. Достаточно того, что один (первый) будет приведен
да
осторожнее с этим! Не забывайте о приоритете операций!
Например:
999L + 1000 * 1000
результат - жопа ![]()
Не будет.
2/5*10 не равно 2*10/5.
Нет.
При каждой операции приводятся к “наибольшему” типу.
чёй та
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println((float)2/5*10);
Serial.println(2*10/5);
}
Сэр в курсе, что “(float)2” это не “2”, а “2.0”?
А также, что 2 и 2.0 - это разные числа?
нет конечно, “вам шашечки или ехать”?
конечно в курсе.
Только он не “сер”, а тролль
да какой жеж я троль, если кто-то не знает, что получает дробное число, а для них нужна уже переменная типа float он сам себе создал проблему
У Вас в одном предложении сразу две ошибки:
- Число 2/5 ни разу не дробное.
- Переменная типа float не нужна, нужна именно целая переменная, как следует из первых четырех строк скетча.
окстись, палочка между числами показатель дробности, если нам учитель арифметики не врал, 2 числитель, 5 знаменатель дроби
Подозреваю, что врал. Ибо нас учитель настойчиво приучал к тому, что дробь в арифметике записывается исключительно с горизонтальной дробной чертой, а не с наклонной.
Впрочем, может врать и кто-то другой, ибо специальности “учитель арифметики” я как-то не припоминаю. Есть “учитель начальных классов” и есть “учитель математики”.
Дальше.
Вы в курсе, что одна и та же запись в разных языках может обозначать совершенно различные вещи. Например, в русском языке “1,000” означает “единица”, а в английском “thousand” то есть “тысяча”.
В данном конкретном случае во-первых, форум посвящен Arduino, т.е. особенностям применения МК, а это в основном либо схемотехника, либо программирование. А во-вторых, тема однозначно посвящена программированию на языках Си/Си++.
А в этих языках 2/5 означает целое число.
Чувствую сейчас перейдём к 16 / 4(3 – 1)
отлично, осталось этим воспользоваться
Пользуйтесь, я разрешаю.
Вы знаете, как поступают с шулерами, которые передёргивают карты?
Их бьют по физическом лицу!
Оне в курсе, просто напрашиваются на процедуру, описанную в №39
судари, это не для вас писалось, а нашему глубоко уважаемому ТС, не всё ему на луна смотреть
Ух ты, какую я тему прозевал, оказывается…
Ну, ухватимся за хвост:
(float )2 это ни разу не 2.0. Потому, что последнее, это тип double.
Керниган и Ричи утверждают, что
(float )2 == 2.0f