Part of it: "� If either operand is of type double, the other is converted to double. � Otherwise, if either operand is of type float, the other is converted to float."
Ok, i can usderstand it. But, can anyone explain me, why? Why long is converted to float? One explanation is that if it was otherwise, we would lose something. But this way we may lose it also - long is 2 times bigger than float - so probably we may lose much information.