Por que é (duplo) 0,6f> (duplo) (6 / 10f)?

É o que acontece no meu computador:

(double)(float)0.6
= 0.60000002384185791

(double)0.6f
= 0.60000002384185791

(double)(6/10f)
= 0.6

(double)(float)(6/10f)
= 0.6

6 / 10f também é uma bóia - como pode ser precisamente 0,6?
Na minha opinião (duplo) (6 / 10f) também deve ser 0,60000002384185791. Alguém pode ajudar a explicar isso? obrigado!