Приведение переменной ДО использования - PullRequest
0 голосов
/ 24 октября 2019

Мне нужно привести следующий продукт к целому числу. Я знаю, как работает обычное приведение, НО мне нужно привести значение переменной от двойного к целому, прежде чем его умножить.

Я уже пытался это сделать: int produkt2 = (int) (a * b * c * d * e *f * g * h * i * j);

    float a = 314.15e-2f;
    float b = 3.1f;
    double c = 0.000314159e4;
    double d = 3.14159;
    int e = 0x11;
    int f = 011; 
    long g = 11L;
    char h = '3';
    byte i = 127;
    short j = 128;

    int produkt2 = (int) ( a * b * c * d * e * f * g * h * i * j);

Результат = 2147483647 Правильный результат должен быть = 113019401088

В упражнении сказано, что мне нужно разыграть его ПЕРЕД умножением. Я думаю, это моя ошибка.

1 Ответ

0 голосов
/ 24 октября 2019
long produkt2 =  ((int)a) * ((int)b) * ((int)c) * ((int)d) * ((int)e) * ((int)f) * ((int)g) * ((int)h) * ((int)i) * ((int)j);
...