为什么对整数类型使用后缀? 后缀可以确定整数类型吗?
e.g.
long int a;
a = 50000LL;
变量是现在的长整数还是长整数?
答案 0 :(得分:3)
为什么对整数类型使用后缀?
定义最小宽度类型并使unsigned为常数。
后缀可以确定整数类型吗?
是的。 u
表示某些 unsigned 类型。在宏处理中也很有用。
l
,ll
至少指示long
,long long
类型。对于宏处理(在intmax_t/uintmax_t
也可以进行位移(假设32位int
)1u << 31
。 1 << 31
是UB(移到符号位)。 @Eugene Sh.
// Assume `long` is 32-bit
long long x = 12345678912345L; // Constant is LL due to range.
long long y = 1000LL * 1000 * 1000 * 1000; // y gets the expected value
long long z = 1000L * 1000 * 1000 * 1000; // UB due to int overflow.
变量是现在的长整数还是长整数?
a
被声明为long int
。其类型不会因任何分配而更改。
答案 1 :(得分:0)
为什么对整数类型使用后缀?后缀可以确定整数类型吗?
... Integer文字是一种整数,其值为 直接在源代码中表示...
前缀:它们基本上代表四种类型。
1)十进制(以10为底) :- a non-zero decimal digit followed by zero or more decimal digits(0, 1, 2, 3, 4, 5, 6, 7, 8, 9). For example, 56, 78.
2) Octtal-literal(base 8) :- a zero followed by zero or more octal digits(0, 1, 2, 3, 4, 5, 6, 7). For example, 045, 076, 06210.
3)十六进制(基数16) :- 0x or 0X followed by one or more hexadecimal digits(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, A, b, B, c, C, d, D, e, E, f, F). For example, 0x23A, 0Xb4C, 0xFEA.
4)二进制文字(基数2) :- 0b or 0B followed by one or more binary digits(0, 1). For example, 0b101, 0B111.