Egész állandók

[Állandók]

Leírás

Az egész állandók olyan számok, amelyeket közvetlenül a vázlatban használnak, például a 123. Alapértelmezés szerint ezeket a számokat a rendszer int-ként kezeli, de ezt megváltoztathatja az U és L módosítókkal (lásd alább).

Általában az egész állandókat 10-es alapú (decimális) egész számként kezeljük, de speciális jelölésekkel (formázókkal) a számok más alapokba történő beírásával is használhatók.

Alap Példa Formázó Megjegyzés

10 (decimális)

123

nincs

2 (bináris)

0b1111011

vezető "0b"

0 és 1 karakter érvényes

8 (oktális)

0173

vezető "0"

0-7 karakterek érvényesek

16 (hexadecimális)

0x7B

vezető "0x"

0-9, A-F, a-f karakterek érvényesek

Decimális (10-es alapú)

Ez a józan ész matematikája, amelyet ismer. Az egyéb előtagok nélküli konstansok decimális formátumúak.

Példa:

n = 101;  // ugyanaz, mint a 101 decimális ((1 * 10^2) + (0 * 10^1) + 1)

Bináris (2-es alapú)

Csak a 0 és 1 karakterek érvényesek.

Példa:

n = 0b101; // ugyanaz, mint az 5 decimális ((1 * 2^2) + (0 * 2^1) + 1)

Oktális (8-as alapú)

Csak a 0-tól 7-ig terjedő karakterek érvényesek. Az oktális értékeket a „0” (nulla) előtag jelzi.

Példa:

n = 0101; // ugyanaz, mint a 65 decimális ((1 * 8^2) + (0 * 8^1) + 1)

Nehezen fellelhető hibát generálhat úgy, hogy (akaratlanul) egy vezető nullát ad egy konstans elé, és a fordító véletlenül oktálisként értelmezi a konstanst.

Hexadecimális (16-os alapú)

Az érvényes karakterek 0-tól 9-ig és az A-tól F-ig terjedő betűk; A értéke 10, B értéke 11, egészen F-ig, ami 15. A hexadecimális értékeket a "0x" előtag jelzi. Ne feledje, hogy az A-F lehet nagy (A-F) vagy kisbetű (a-f).

Példa:

n = 0x101;  // ugyanaz, mint a 257 decimális ((1 * 16^2) + (0 * 16^1) + 1)

Megjegyzések és figyelmeztetések

U & L formázók:

Alapértelmezés szerint az egész konstans int konstansként kezeli a hozzá tartozó értékkorlátokat. Egész szám állandó megadásához más adattípussal, kövesse a következőt:

  • egy „u” vagy „U” a konstans unsigned (előjel nélküli) adatformátumba kényszerítéséhez. Példa: 33u

  • egy 'l' vagy 'L' a konstans long adatformátumba kényszerítéséhez. Példa: 100000L

  • egy 'ul' vagy 'UL' a konstans unsigned long (előjel nélküli long) konstanssá kényszerítésére. Példa: 32767ul

Lásd még