📅  最后修改于: 2023-12-03 14:39:37.755000             🧑  作者: Mango
整型字面量是C/C++中用于表示整数值的常量,它可以通过添加前缀或后缀来指定不同的整型类型或值。
在C/C++中,可以使用以下前缀来指定整型字面量的类型:
0x
:十六进制表示法,例如0x1F
表示31。0
:八进制表示法,例如037
表示31。0b
:二进制表示法(C++14标准及以上),例如0b11111
表示31。在C/C++中,可以使用以下后缀来指定整型字面量的类型:
U
或u
:无符号整型,例如123U
表示无符号整数123。L
或l
:长整型,例如123456L
表示长整数123456。LL
或ll
:长长整型,例如123456789LL
表示长长整数123456789。UL
或ul
:无符号长整型,例如12345678UL
表示无符号长整数12345678。在C++11标准及以上,还引入了以下后缀来指定整数的二进制位数:
ULL
或ull
:无符号长长整型,例如0b1111ULL
表示二进制位数为4的无符号长长整数。同时,还可以使用以下后缀来指定整数的数据类型,这些后缀在C++17标准及以上可用:
i
:带符号整型,例如1234i
表示带符号整数1234。ui
:无符号整型,例如1234ui
表示无符号整数1234。l
:long整型,例如1234l
表示long整数1234。ul
:无符号long整型,例如1234ul
表示无符号long整数1234。ll
:long long整型,例如1234ll
表示long long整数1234。ull
:无符号long long整型,例如1234ull
表示无符号long long整数1234。以下是一些使用前缀和后缀指定的整型字面量的示例:
int decimal = 42; // 十进制整型,默认为有符号整数
int hex = 0x2A; // 十六进制整型,等同于42
int octal = 052; // 八进制整型,等同于42
int binary = 0b101010; // 二进制整型,等同于42
unsigned int uDecimal = 42U; // 无符号十进制整型
long lDecimal = 42L; // 长整型
long long llDecimal = 42LL; // 长长整型
unsigned long ulDecimal = 42UL; // 无符号长整型
unsigned long long ullDecimal = 42ULL;// 无符号长长整型
int bin4Bit = 0b1111i; // 二进制位数为4的带符号整型
以上就是C/C++中整型字面量的前缀和后缀的详细介绍。通过使用不同的前缀和后缀,可以灵活地指定整型字面量的类型和数值范围,从而满足不同的编程需求。