次の方法で共有


C++ の整数定数

整数定数は小数部分または指数部がない定数データ要素です。各桁には必ずから始まります。10 桁8 進数16 進数形式で整数定数を指定できます。は符号付きまたは符号なしの型または急に型が指定します。

文法

  • 整数定数 :
    10 進数の整数定数サフィックス opt

    8 進数の整数定数サフィックス opt

    16 進数の整数定数サフィックス opt

    C 文字シーケンス

  • 10 進数の定数 :
    ゼロ以外の数字

    10 進数の数値定数

  • 8 進数の定数 :
    0

    8 進数の定数 8 進数の数字

  • 16 進数の定数 :
    0xhexadecimal-digit

    0Xhexadecimal-digit

    16 進数の定数 16 進数の数字

  • ゼロ以外の数字 : 1 回
    1 2 3 4 5 6 7 8 9

  • 8 進数の数字 : 1 回
    0 1 2 3 4 5 6 7

  • 16 進数の数字 : 1 回
    0 1 2 3 4 5 6 7 8 9

    eF b c d

    eF 12 C C 17 C

  • integer-suffix:
    unsignedサフィックスのサフィックス opt

    unsignedサフィックスのサフィックス opt

  • unsigned サフィックス : 1 回
    uU

  • このサフィックス : 1 回
    l L

  • 64 ビットの整数サフィックス :
    i64 の LL ll

8 または 16 は16 進数表記を使用して整数定数を指定するにはベースを表示するプレフィックスを使用します。特定の整数型の整数定数を指定するには型を表示するサフィックスを使用します。

10 進定数を指定するにはゼロ以外の数字の指定を開始します。次に例を示します。

int i = 157;   // Decimal constant
int j = 0198;  // Not a decimal number; erroneous octal constant
int k = 0365;  // Leading zero specifies octal constant, not decimal

8 進定数を指定するには0 から特定のを0 ~ 7. の数値のシーケンスに続く開始します。数字の 8 と 9 は 8 進定数の指定になります。次に例を示します。

int i = 0377;   // Octal constant
int j = 0397;   // Error: 9 is not an octal digit

16 進定数を指定するにはf 開始します (または F) によって 9 の範囲 0 の数値のシーケンスと a (または) A 続く 0x から特定のを 0X または (「 x 」の例を参照)。f (または F) を通じて 16 進数の数字 a (または) A は 10 ~ 15 の値を表します。次に例を示します。

int i = 0x3fff;   // Hexadecimal constant
int j = 0X3FFF;   // Equal to i

符号なしの型を指定するにはU または U のサフィックスを使用します。long 型を指定するには l またはサフィックス L を使用します。次に例を示します。

unsigned uVal = 328u;             // Unsigned value
long lVal = 0x7FFFFFL;            // Long value specified 
                                  //  as hex constant
unsigned long ulVal = 0776745ul;  // Unsigned long value

64 ビット整数型を指定するにはLL llまたは i64 サフィックスを使用します。次に例を示します。

// 64bitsuffix.cpp
#include <stdio.h>
enum MyEnum {
   IntType,
   Int64Type
};

MyEnum f1(int) {
   printf("in f1(int)\n");
   return IntType;
}

MyEnum f1(__int64) {
   printf_s("in f1(__int64)\n");
   return Int64Type;
}

int main() {
   MyEnum t1 = f1(0x1234), t2 = f1(0x1234i64);
}

00a1awxf.collapse_all(ja-jp,VS.110).gif出力

in f1(int)
in f1(__int64)

参照

関連項目

C++ のリテラル