Delen via


Conversies van niet-ondertekende integrale typen

Wanneer een niet-ondertekend geheel getal wordt geconverteerd naar een geheel getal of een drijvende-kommatype, wordt de waarde ongewijzigd als de oorspronkelijke waarde in het resultaattype wordt weergegeven.

Wanneer de compiler een niet-ondertekend geheel getal converteert naar een geheel getal met een grotere grootte, wordt de waarde nul uitgebreid. Wanneer deze wordt geconverteerd naar een geheel getal van kleinere grootte, worden de bits met hoge volgorde afgekapt. Het resultaat wordt geïnterpreteerd met behulp van het resultaattype, zoals wordt weergegeven in dit voorbeeld:

unsigned k = 65533;
short j;

j = k;
printf_s( "%hd\n", j );   // Prints -3

Wanneer de compiler een niet-ondertekend geheel getal converteert naar een drijvende-kommatype, is het resultaat de volgende hogere of lagere vertegenwoordigbare waarde als de oorspronkelijke waarde niet exact in het resultaattype kan worden weergegeven.

Zie Opslag van basistypen voor informatie over de grootten van integrale en drijvende kommatypen.

Microsoft-specifieke

In de Microsoft-compiler unsigned (of unsigned int) en unsigned long zijn afzonderlijke maar gelijkwaardige typen. De conversie van een unsigned int waarde gaat op dezelfde manier als de conversie van een unsigned long.

Microsoft-specifieke beëindigen

De volgende tabel bevat een overzicht van conversies van niet-ondertekende integrale typen.

Tabel met conversies van niet-ondertekende integrale typen

Van Tot Methode
unsigned char char Bitpatroon behouden; bit met hoge volgorde wordt teken-bit
unsigned char short Nul uitbreiden
unsigned char long Nul uitbreiden
unsigned char long long Nul uitbreiden
unsigned char unsigned short Nul uitbreiden
unsigned char unsigned long Nul uitbreiden
unsigned char unsigned long long Nul uitbreiden
unsigned char float Exact converteren naar float
unsigned char double Exact converteren naar double
unsigned char long double Exact converteren naar long double
unsigned short char Byte met lage volgorde behouden
unsigned short short Bitpatroon behouden; bit met hoge volgorde wordt teken-bit
unsigned short long Nul uitbreiden
unsigned short long long Nul uitbreiden
unsigned short unsigned char Byte met lage volgorde behouden
unsigned short unsigned long Nul uitbreiden
unsigned short unsigned long long Nul uitbreiden
unsigned short float Exact converteren naar float
unsigned short double Exact converteren naar double
unsigned short long double Exact converteren naar long double
unsigned long char Byte met lage volgorde behouden
unsigned long short Woord met lage volgorde behouden
unsigned long long Bitpatroon behouden; bit met hoge volgorde wordt teken-bit
unsigned long long long Nul uitbreiden
unsigned long unsigned char Byte met lage volgorde behouden
unsigned long unsigned short Woord met lage volgorde behouden
unsigned long unsigned long long Nul uitbreiden
unsigned long float Converteren naar het dichtstbijzijnde vertegenwoordigbare float
unsigned long double Exact converteren naar double
unsigned long long double Exact converteren naar long double
unsigned long long char Byte met lage volgorde behouden
unsigned long long short Woord met lage volgorde behouden
unsigned long long long Dword met lage volgorde behouden
unsigned long long long long Bitpatroon behouden; bit met hoge volgorde wordt teken-bit
unsigned long long unsigned char Byte met lage volgorde behouden
unsigned long long unsigned short Woord met lage volgorde behouden
unsigned long long unsigned long Dword met lage volgorde behouden
unsigned long long float Converteren naar het dichtstbijzijnde vertegenwoordigbare float
unsigned long long double Converteren naar het dichtstbijzijnde vertegenwoordigbare double
unsigned long long long double Converteren naar het dichtstbijzijnde vertegenwoordigbare long double

Zie ook

Toewijzingsconversies