int a = 2, b = 3;
float f = 2.5;
double d = -1.2;
int int_result;
float real_result;
real_result = a * f;/* Здесь неявный листинг применяется компилятором к переменной a. Когда переменная a сначала продвигается, чтобы плавать неявно, а затем выражение выполняется. */ real_result = (float) a * b;/* Это явное приведение. Здесь вы принудительно преобразуете результат a * b в float. */
d = a + b/a * f;
d = f * b/a + a;
Вы не можете реализовать неявное преобразование. Неявный перевод выполняется компилятором.
Остерегайтесь при реализации явного приведения. Потому что в Explicit литье значение переменной me
потеряно с некоторой точностью при отливке большого значения datatype к этим типам данных.
Не могли бы вы дать нам более подробную информацию о том, что вы пытаетесь сделать? Каким должен быть конечный результат или какая из этих переменных? – Tarka
вот исправление: и это домашняя работа int a = 2, b = 3; float f = 2.5; double d = -1.2; in tint_result; float real_result; (1) real_result = a * f; (2) real_result = (float) a * b; (3) d = a + b/a * f; (4) d = f * b/a + a; – user292489
Я обновил код и заголовок, но до сих пор неясно, в чем заключается ваш вопрос. Кроме того, вы можете отредактировать свой собственный вопрос, чтобы добавить любую новую информацию, которую вы хотите. –