C++中UINT32和INT32以及int,BOOL和bool的区别

在AndroidHAL层开发中,编写C++代码的时候,遇到了数据类型的困扰,经过查找资料,总结如下:
1.UNIT32和int以及INT32的区别:
(1).int默认是signed int。也就是有符号整型,最高位是符号位。数据只占31位。
(2).INT32是unsigned int的别名。typedef unsigned int UINT32
unsigned int是无符号整型,最高位也是数据位,数据占32位。
(3).INT32表示32位有符号的整数。
(4).UINT32和INT32的区别:
INT32是不可变的数据类型,它表示有符号整数。
unsigned int是无符号整型。最高位也是数据位,数据占32位。
2.BOOL和bool的区别:
(1).类型不同:
bool:布尔型,准C++数据类型。
BOOL:int型,是微软定义的typedef int BOOL
(2).长度不同:
bool:只有一个字节。
BOOL:长度根据环境来定,一般可以是4个字节。
(3).取值不同:
bool:false/true,是0和1的区别。
BOOL:FALSE/TRUE,是0和非0的区别。它是一个三元值,TRUE/FALSE/ERROR
返回值>0的整数:TRUE。返回值=0:FALSE。返回值=-1:ERROR。

你可能感兴趣的:(android开发)