Страница 1 из 1
ATTINY13 Деление
Добавлено: Сб янв 18, 2020 09:09:57
unknown99
Почему код float test2 = (512/1024)*10 выдает 0?
Каким образом заставить мк получать 0.xx и умножать это число?
А судя по всему мк при делении выдает 0 и умножает на него, когда необходимо 0,5 * 10
Re: ATTINY13 Деление
Добавлено: Сб янв 18, 2020 09:53:45
Самсусамыч
Re: ATTINY13 Деление
Добавлено: Сб янв 18, 2020 10:35:49
uk8amk
Запишите так
или так
Все числа являются целыми, компилятор выбирает для них целочисленную арифметику.
Re: ATTINY13 Деление
Добавлено: Сб янв 18, 2020 10:43:18
BOB51
512/1024=0,5
"/" по умолчанию для целых чисел и даст 0.

Re: ATTINY13 Деление
Добавлено: Сб янв 18, 2020 14:38:49
akl
Операция деления делается последней. Всегда.
10*512/1024=5
Re: ATTINY13 Деление
Добавлено: Сб янв 18, 2020 19:45:06
Starichok51
ему же нужна плавающая точка, а не целочисленный результат. поэтому очередность операций не имеет значения.
Re: ATTINY13 Деление
Добавлено: Вс янв 19, 2020 03:03:36
unknown99
Спасибо, ребята.
Спойлер
Хороший, дружный форум, не то что схем.нет, где один "краб" чего только стоит, у которого вечный пмс.
Re: ATTINY13 Деление
Добавлено: Вс янв 19, 2020 09:47:36
Starichok51
здесь тоже не всегда бывает дружелюбно. всё зависит от вопрошающего ...