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

 

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

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

 

        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  

你可能感兴趣的:(计算机基础,C语言,硬件)