私がこのようなことをするとき
int test = 5 + 3 * (4 - 1) / 2;
私は9を取得します。これはintが切り捨てられたためだと思いました。しかし、私がこれを行うとき
float test = 5 + 3 * (4 - 1) / 2;
私も9を取得します。しかし、これを行うと
float test1 = 5;
float test2 = 4.5;
float test = test1 + test2;
テストは最終的に9.5を出力します。誰かがこれの背後にある論理を説明できますか?2番目の例で9.5を取得しないのはなぜですか?ありがとう。