在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。