Konstanta Bilangan Bulat C

Konstanta bilangan bulat adalah angka desimal (dasar 10), oktal (dasar 8), atau heksadesimal (dasar 16) yang mewakili nilai integral. Gunakan konstanta bilangan bulat untuk mewakili nilai bilangan bulat yang tidak dapat diubah.

Sintaksis

integer-constant:
decimal-constant integer-suffix Memilih
octal-constant integer-suffix Memilih
hexadecimal-constant integer-suffix Memilih

decimal-constant:
nonzero-digit
decimal-constant digit

octal-constant:
0
octal-constant octal-digit

hexadecimal-constant:
hexadecimal-prefix hexadecimal-digit
hexadecimal-constant hexadecimal-digit

hexadecimal-prefix: salah satu
0x 0X

nonzero-digit: salah satu
1 2 3 4 5 6 7 8 9

octal-digit: salah satu
0 1 2 3 4 5 6 7

hexadecimal-digit: salah satu
0 1 2 3 4 5 6 7 8 9
a b c d e f
A B C D E F

integer-suffix:
unsigned-suffix long-suffix Memilih
unsigned-suffix long-long-suffix
unsigned-suffix 64-bit-integer-suffix
long-suffix unsigned-suffix Memilih
long-long-suffix unsigned-suffix Memilih
64-bit-integer-suffix

unsigned-suffix: salah satu
u U

long-suffix: salah satu
l L

long-long-suffix: salah satu
ll LL

64-bit-integer-suffix: salah satu
i64 I64

Akhiran i64 dan I64 khusus Microsoft.

Konstanta bilangan bulat positif kecuali didahului oleh tanda minus (-). Tanda minus ditafsirkan sebagai operator negasi aritmatika unary. (Lihat Operator Aritmatika Tidak Sah untuk informasi tentang operator ini.)

Jika konstanta bilangan bulat dimulai dengan 0x atau 0X, itu heksadesimal. Jika dimulai dengan digit 0, itu oktal. Jika tidak, diasumsikan desimal.

Konstanta bilangan bulat berikut setara:

28
0x1C   /* = Hexadecimal representation for decimal 28 */
034    /* = Octal representation for decimal 28 */

Tidak ada karakter spasi putih yang dapat memisahkan digit konstanta bilangan bulat. Contoh-contoh ini menunjukkan beberapa konstanta desimal, oktal, dan heksadesimal yang valid.

    /* Decimal Constants */
    int                 dec_int    = 28;
    unsigned            dec_uint   = 4000000024u;
    long                dec_long   = 2000000022l;
    unsigned long       dec_ulong  = 4000000000ul;
    long long           dec_llong  = 9000000000LL;
    unsigned long long  dec_ullong = 900000000001ull;
    __int64             dec_i64    = 9000000000002I64;
    unsigned __int64    dec_ui64   = 90000000000004ui64;

    /* Octal Constants */
    int                 oct_int    = 024;
    unsigned            oct_uint   = 04000000024u;
    long                oct_long   = 02000000022l;
    unsigned long       oct_ulong  = 04000000000UL;
    long long           oct_llong  = 044000000000000ll;
    unsigned long long  oct_ullong = 044400000000000001Ull;
    __int64             oct_i64    = 04444000000000000002i64;
    unsigned __int64    oct_ui64   = 04444000000000000004uI64;

    /* Hexadecimal Constants */
    int                 hex_int    = 0x2a;
    unsigned            hex_uint   = 0XA0000024u;
    long                hex_long   = 0x20000022l;
    unsigned long       hex_ulong  = 0XA0000021uL;
    long long           hex_llong  = 0x8a000000000000ll;
    unsigned long long  hex_ullong = 0x8A40000000000010uLL;
    __int64             hex_i64    = 0x4a44000000000020I64;
    unsigned __int64    hex_ui64   = 0x8a44000000000040Ui64;

Lihat juga

Konstanta C