Умножить вещественную и целочисленную переменную - C (СИ)
Формулировка задачи:
нужно получить результат умножения числа вещественного типа float f= 8e-06 и целочисленную переменную unsigned short z = 256.
компилятор ругается на невозможность произвести действие над двумя разными типами переменных. Подскажите как ?
float f=0.000008, fr=0;
unsigned short z=0;
fr=f*z;
accessed outside program memory.
__clz_tab 0080006C Item (256 bytes at 0x0000006C) not within memory block (0x000000E0 bytes).
Если записать в виде f*256, то в рез-тате получается 0.002048 без ошибок, т.е. ошибку именно на невозможность два разных типа переменных.
Решение задачи: «Умножить вещественную и целочисленную переменную»
textual
Листинг программы
f*((float) z)
Объяснение кода листинга программы
В данном коде происходит умножение вещественной переменной z на целочисленную переменную f. Список элементов:
f
- целочисленная переменнаяz
- вещественная переменнаяfloat
- функция, которая преобразует целочисленную переменную z в вещественную*
- оператор умножения