C语言中的0U或1U是什么意思?

 

最近学STM32的芯片,官方例程中不少地方有0U/2U/4U...这类的表示,刚开始有些迷茫,细查以后得知,都是C放言默认的数据类型表示.    post

        在C语言中,数值常数默认为int型,当数值常量后边有U/UL/f等尾缀时,表明指定其数据类型.get

 

        0U 表示 无符号整型 0
        1U 表示 无符号整型 1数据类型

        若是不写U后缀,系统默认为:int, 即,有符号整数。
       1.数值常数有:整型常数、浮点常数; 
       2.只有数值常数才有后缀说明; 
       3.数值常数后缀不区分字母大小写。 
          (1)整型常数的表示形式有:十进制形式、以0开头的八进制形式、以0x开头的十六进制形式,无二进制形式。 整型常数默认是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;二进制

 

转自http://www.yanbo-edu.cn/?post=271  数据