c语言中的0UL等数值后缀意义

9570阅读 0评论2017-01-04 Rayree1993
分类:C/C++

常常在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;


上一篇:Linux nc命令详解
下一篇:辞职后五险一金怎么处理?收藏下来吧~早晚用得到