C++整型常数
整型常数是没有部分的部件或指数的常量数据元素。 它们以数字始终启动。 可以指定整型常数以十进制,八进制或十六进制形式。 他们可以指定签名的或无符号类型和长度或短的类型。
语法
整数常数:
十进制常数的整数后缀opt八进制整数常量后缀opt
十六进制常数的整数后缀opt
“c 字符序列“
十进制常数:
非零数字十进制常数的数字
八进制常数:
0八进制常量八进制数字
十六进制常数:
注意十六进制数字注意十六进制数字
十六进制常数的十六进制数字
非零数字:一个
1 2 3 4 5 6 7 8 9八进制数字:一个
0 1 2 3 4 5 6 7十六进制数字:一个
0 1 2 3 4 5 6 7 8 9ef 的 b c d
E-F 的 B C D
整数后缀:
unsigned 后缀长后缀opt长后缀 unsigned 后缀opt
unsigned 后缀:一个
u U长后缀:一个
l L64 位整数后缀:
i64 LL ll
使用八进制或十六进制表示法,若要指定整型常数,请使用表示基础的标题。 若要指定特定整型整型常数,请使用表示类型的后缀。
若要指定一个十进制常数,从非零数字启动规范。 例如:
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
若要指定一个八进制常数,请从 0 开始规范,后跟数字顺序在 0 到 7 之间. 的。 数字 8 和 9 是在指定一个八进制常数的错误。 例如:
int i = 0377; // Octal constant
int j = 0397; // Error: 9 is not an octal digit
若要指定一个十六进制常数,从 0x 启动规范或 0X (该 “x”用例不问题),后跟数字顺序在范围 0 的通过 9 和 a (或 A)。 f (或 F)。 十六进制数字 a (或 A)。 f (或 F) 表示在 10 到 15 之间的值。 例如:
int i = 0x3fff; // Hexadecimal constant
int j = 0X3FFF; // Equal to i
若要指定无符号类型,请使用 u 或 U 后缀。 若要指定较长的类型,请使用 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);
}
Output
in f1(int)
in f1(__int64)