x >= 0 || x < ux
3 Réponses :
Non, 0
est un int
, il n'y a donc aucune promotion dans la partie x> = 0
de votre expression. p >
Non. Cela se produit opérateur par opérateur.
(x >= 0) || (x < ux)
est naturellement
x >= 0 || x < ux
Depuis x
et 0 code> sont tous deux des
int
s, il n'y a pas besoin de (arithmétique habituelle) conversions ...
Et même si x
est converti en non signé dans x
x
int
- soit 0 code > ou
1
(comme sur le côté gauche).
Non, ce n'est pas le cas.
En effet, x> = 0 est une expression. (Formellement 0 est une constante octale de type int.)
Essayez 1/2 * 1.0 pour un exemple plus pernicieux. Ceci est groupé comme (1/2) * 1.0 et vaut zéro car les entiers dans l'expression 1/2 ne sont pas promus en virgule flottante.
Merci, ça a du sens
Détail:
x
n'est pas cast - il n'y a pas de cast dansx.
x
est converti en unnon signé
.