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
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