数据类型与数值表示方法

一、数据类型
常见

#define  DEF_BIT_00   0x01u
#define  DEF_BIT_01   0x02u
0U	数据类型为:unsigned int 无符号整型
如果不写U后缀,系统默认为:int, 即,有符号整数。
1f
1l	数据类型为:long int
1.12l	数据类型为:long double

u 就表示unsigned,ul 就表示 unsigned long型,也就是无符号的意思。常用在非符号的场景,一是为了防止编译器将它作为有符号数字进行处理,显式声明,以防万一;二是防止编译提醒符合位改变等情况。

举例:比如0x80 这是一个16位的数,如果不加u,默认为有符号INT型,有的编译器认为它是个负数,然后多次右移这个数的时候,编译器就会提醒符号位改变,就从负数变成了正数。如果加上u,0x80u,直接声明这是一个无符号的16位数,随便怎么移动都没事,就相当于 usigned short 。

加了l就是long型,0x00是int型,0x00u是无符号int型,0x00ul长整型,其实这和在数字末尾加f,加l等的作用是类似的。

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;

二、数值表示方法

1、数值后面加“”H“、“h”的意义是该数值是用16进制表示的。
2、数值后面加“”B“、“b”的意义是该数值是用2进制表示的。
3、后面什么也不加,代表10进制。
	栗子:
	11111111B = FFH = 255
4、数值前面加“0”的意义是该数值是八进制。
5、数值前面加“0x”的意义是该数值是十六进制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值