最近的研究方向:Nginx
分类: C/C++
2017-01-04 10:00:30
常常在C语言中会有这样的例:0x123456UL 表示 无符号长整型0x123456
此数值后面的UL为数值后缀,他的功能是对数值类型起到了限定作用。
如果没有数值后缀,则使用系统默认类型:
整数:int
浮点数:double
数值后缀说明:
1.数值常数有:整型常数、浮点常数;
2.只有数值常数才有后缀说明;
3.数值常数后缀不区分字母大小写。
(1)整型常数的表示形式有:十进制形式、以0开头的八进制形式(如:020表示十进制的16)、以0x开头的十六进制形式(如:0x10表示十进制的16),以0b开头的二进制形式(如0b10000表示十进制的16)。
由于整型常数默认是signed int的。所以对整型常数进行类型转换的后缀只有:u或U(unsigned)、l或L(long)、u/U与l/L的组合(如:ul、lu、Lu等)。例:100u; -123u; 0x123L;
(2)浮点常数的表示形式有:科学计数形式和小数点形式。
浮点常数默认是double的。对浮点常数进行类型转换的后缀只有:f或F(单精度浮点数)、l或L(长双精度浮点数)。(注:由于浮点型常数总是有符号的,故没有u或U后缀)。例:1.23e5f; 1.23l; -123.45f;