《C++ Primer》笔记-由1.0f引发的

以前在cocos2d程序里经常看到[self schedule:@selector(destory) interval:5.0f]这样的写法,那时一直认为那是为了突出5.0是浮点数,今天终于在C++ Primer中得到了正解(突然有种没文化,真可怕的感觉):

默认的浮点字面值常量为 double 类型。在数值的 后面加上 F 或 f 表示单精度。同样加上 L 或者 l 表示扩展精度(再次提醒, 不提倡使用小写字母 l)。

通常可以用十进制或者科学计数法来表示浮点字面值常量。使用科学计数法 时,指数用 E 或者 e 表示。

下面每一组字面值表示相同的值:

     3.14159F            .001f          12.345L            0.
     3.14159E0f          1E-3F          1.2345E1L          0e0

以 0(零)开头的字面值整数常量表示八进制,以 0x 或 0X 开头的表示十 六进制。

20     // decimal
024    // octal
0x14 // hexadecimal

类似地,可通过在数值后面加 U 或 u 定义 unsigned 类型。同时加 L 和 U 就能够得到 unsigned long 类型的字面值常量。但其后缀不能有空格:

     128u     // unsigned   
     1L       // long    
1024UL // unsigned long
     8Lu        // unsigned long