Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer een ondertekend geheel getal wordt geconverteerd naar een geheel getal of een drijvende-kommatype, wordt de waarde ongewijzigd als deze kan worden weergegeven in het resultaattype.
Wanneer een ondertekend geheel getal wordt geconverteerd naar een geheel getal van grotere grootte, wordt de waarde 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:
int i = -3;
unsigned short u;
u = i;
printf_s( "%hu\n", u ); // Prints 65533
Wanneer de compiler een ondertekend geheel getal converteert naar een drijvendekommatype, als de oorspronkelijke waarde niet exact in het resultaattype kan worden weergegeven, is het resultaat de volgende hogere of lagere vertegenwoordigbare waarde.
Zie Opslag van basistypen voor informatie over de grootten van integrale en zwevende kommatypen.
De volgende tabel bevat een overzicht van conversies van ondertekende integrale typen. Hierbij wordt ervan uitgegaan dat het char type standaard is ondertekend. Als u een compileertijdoptie gebruikt om de standaardwaarde voor het char type te wijzigen in niet-ondertekend, zijn de conversies in de tabel Conversies van niet-ondertekende integrale typen voor het unsigned char type van toepassing, in plaats van de conversies in deze tabel.
Microsoft-specifieke
In de Microsoft-compiler int zijn deze long verschillende, maar gelijkwaardige typen. De conversie van een int waarde verloopt op dezelfde manier als de conversie van een long.
Microsoft-specifieke beëindigen
Tabel met conversies van ondertekende integrale typen
| Van | Tot | Methode |
|---|---|---|
char
1 |
short |
Sign-extend |
char |
long |
Sign-extend |
char |
long long |
Sign-extend |
char |
unsigned char |
Patroon behouden; bit met hoge volgorde verliest de functie als teken-bit |
char |
unsigned short |
Sign-extend to short; convert short to unsigned short |
char |
unsigned long |
Sign-extend to long; convert long to unsigned long |
char |
unsigned long long |
Sign-extend to long long; convert long long to unsigned long long |
char |
float |
Vertegenwoordigen precies als float |
char |
double |
Vertegenwoordigen precies als double |
char |
long double |
Vertegenwoordigen precies als long double |
short |
char |
Byte met lage volgorde behouden |
short |
long |
Sign-extend |
short |
long long |
Sign-extend |
short |
unsigned char |
Byte met lage volgorde behouden |
short |
unsigned short |
Bitpatroon behouden; bit met hoge volgorde verliest de functie als teken-bit |
short |
unsigned long |
Sign-extend to long; convert long to unsigned long |
short |
unsigned long long |
Sign-extend to long long; convert long long to unsigned long long |
short |
float |
Vertegenwoordigen precies als float |
short |
double |
Vertegenwoordigen precies als double |
short |
long double |
Vertegenwoordigen precies als long double |
long |
char |
Byte met lage volgorde behouden |
long |
short |
Woord met lage volgorde behouden |
long |
long long |
Sign-extend |
long |
unsigned char |
Byte met lage volgorde behouden |
long |
unsigned short |
Woord met lage volgorde behouden |
long |
unsigned long |
Bitpatroon behouden; bit met hoge volgorde verliest de functie als teken-bit |
long |
unsigned long long |
Sign-extend to long long; convert long long to unsigned long long |
long |
float |
Vertegenwoordigen als float. Als long dit niet precies kan worden weergegeven, gaat een bepaalde precisie verloren. |
long |
double |
Vertegenwoordigen precies als double |
long |
long double |
Vertegenwoordigen precies als long double |
long long |
char |
Byte met lage volgorde behouden |
long long |
short |
Woord met lage volgorde behouden |
long long |
long |
Dword met lage volgorde behouden |
long long |
unsigned char |
Byte met lage volgorde behouden |
long long |
unsigned short |
Woord met lage volgorde behouden |
long long |
unsigned long |
Dword met lage volgorde behouden |
long long |
unsigned long long |
Bitpatroon behouden; bit met hoge volgorde verliest de functie als teken-bit |
long long |
float |
Vertegenwoordigen als float. Als long long dit niet precies kan worden weergegeven, gaat een bepaalde precisie verloren. |
long long |
double |
Vertegenwoordigen als double. Als long long dit niet precies kan worden weergegeven als een double, gaat een bepaalde precisie verloren. |
long long |
long double |
Vertegenwoordigen als double. Als long long dit niet precies kan worden weergegeven als een double, gaat een bepaalde precisie verloren. |
1 Alle char vermeldingen gaan ervan uit dat het char type standaard is ondertekend.