Partager via


Conversion non signé à signé

Des objets de types intégraux non signés peuvent être convertis en correspondre les types signés.Toutefois, une telle conversion peut entraîner l'erreur d'interprétation des données si la valeur de l'objet non signé est en dehors de la plage qui peut être représenté par le type signé, comme indiqué dans l'exemple suivant :

Exemple

// conve__pluslang_Converting_Unsigned_to_Signed.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
int main()
{
 short  i;
 unsigned short u = 65533;

 cout << (i = u) << "\n";
}

Sortie

-3

Dans l'exemple précédent, u est un objet intégral d' unsignedshort qui doit être converti en une valeur signée pour évaluer l'expression (i = u).Étant donné que sa valeur ne peut pas être correctement représentée dans signed short, les données sont mal interprétée comme indiqué.

Voir aussi

Référence

Conversions intégrales