Partager via


Conversion de non signé en signé

Les objets de types intégraux non signés peuvent être convertis en types signés correspondants. Toutefois, cette conversion peut entraîner une erreur d'interprétation des données si la valeur de l'objet non signé se situe en dehors de la plage qui peut être représentée par le type signé, comme illustré 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 unsignedshort qui doit être converti en une quantité signée pour évaluer l'expression (i = u). Étant donné que sa valeur ne peut pas être correctement représentée dans un signed short, les données sont mal interprétées, comme il est indiqué.

Voir aussi

Référence

Conversions de types intégraux