Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
'~' : zéro extension 'type1' à 'type2' de taille supérieure
Remarques
Le résultat de l’opérateur ~ (complément au niveau du bit) n’est pas signé, puis étendu zéro lorsqu’il est converti en type plus grand.
Exemple
Dans l’exemple suivant, ~(a - 1) est évalué comme une expression longue non signée 32 bits, puis convertie en 64 bits par extension zéro. Cela peut entraîner des résultats d'opération inattendus.
// C4319.cpp
// compile with: cl /W4 C4319.cpp
int main() {
unsigned long a = 0;
unsigned long long q = 42;
q = q & ~(a - 1); // C4319 expected
}