[Débutant] Deux questions sur la conversion (cast)
Bonjour,
Il y a deux choses qui m'échappent :
1) Pourquoi est-ce que je n'ai pas de message d'erreur quand je compile ça :
3 est un integer, donc javac devrait s'arrêter de la même manière que quand je fais :
2) Pourquoi est ce que le compilateur accepte que je fasse :
Code:
1 2
| long l = 3;
float f = l; |
Comme les longs sont codés sur 8 bytes et les floats sur 4, je m'attendais à avoir "possible loss of precision".
Merci pour vos éclaircissements
++ Kloss
Re: [Débutant] Deux questions sur la conversion (cast)
Et pour compléter:
Citation:
Envoyé par kloss
2) Pourquoi est ce que le compilateur accepte que je fasse :
Code:
1 2
| long l = 3;
float f = l; |
Comme les longs sont codés sur 8 bytes et les floats sur 4, je m'attendais à avoir "possible loss of precision".
Parce que 3 peut être codé sans perte de précision dans un float.
Par contre, essaie:
Code:
1 2 3
|
long l=3.123456789;
float f=l; |
Là tu vas avoir ta perte de précision...