Dela via


Heltalstyper

Varje heltalskonstant ges en typ baserat på dess värde och hur den uttrycks. Du kan tvinga alla heltalskonstanter att skriva long genom att lägga till bokstaven l eller L till slutet av konstanten. Du kan tvinga den att vara typ unsigned genom att lägga u till eller U till värdet. Gemener l kan förväxlas med siffran 1 och bör undvikas. Vissa former av long heltalskonstanter följer:

/* Long decimal constants */
10L
79L

/* Long octal constants */
012L
0115L

/* Long hexadecimal constants */
0xaL or 0xAL
0X4fL or 0x4FL

/* Unsigned long decimal constant */
776745UL
778866LU

Vilken typ du tilldelar till en konstant beror på värdet som konstanten representerar. Värdet för en konstant måste ligga i intervallet med representerande värden för dess typ. En konstants typ avgör vilka konverteringar som utförs när konstanten används i ett uttryck eller när minustecknet (-) tillämpas. Den här listan sammanfattar konverteringsreglerna för heltalskonstanter.

  • Typen för en decimalkonstant utan suffix är antingen int, long inteller unsigned long int. Den första av dessa tre typer där konstantens värde kan representeras är den typ som tilldelats till konstanten.

  • Den typ som tilldelats till oktala och hexadecimala konstanter utan suffix är int, unsigned int, long inteller unsigned long int beroende på storleken på konstanten.

  • Den typ som tilldelas till konstanter med ett u eller U suffix är unsigned int eller unsigned long int beroende på deras storlek.

  • Den typ som tilldelas till konstanter med ett l eller L suffix är long int eller unsigned long int beroende på deras storlek.

  • Den typ som tilldelas till konstanter med ett u eller och ett Ll suffix är unsigned long intU .

Se även

C Heltalskonstanter