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。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 08:27:26

C++中UINT32和INT32以及int,BOOL和bool的区别的相关文章

c++ 中 BOOL与bool TRUE与true FALSE与false 区别 (转载)

http://blog.chinaunix.net/uid-28458801-id-3941112.html FALSE/TRUE与false/true的区别 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途 是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义: #ifndef FALSE #define FALSE 0 #endif #ifndef

一开始看到Int16, Int32, Int64这三种类型就觉得有点怪, 为什么要整个数字结尾的, 挺怪的. 昨天互相想到, ms这么干就是想让大家一眼就知道这个数据类型占多大空间吧. Int8, 等于byte, Int16, 等于short, 占2个字节. -32768 32767 Int32, 等于int, 占4个字节. -2147483648 2147483647 Int64

一开始看到Int16, Int32, Int64这三种类型就觉得有点怪, 为什么要整个数字结尾的, 挺怪的. 昨天互相想到, ms这么干就是想让大家一眼就知道这个数据类型占多大空间吧. Int8, 等于byte, Int16, 等于short, 占2个字节. -32768 32767 Int32, 等于int, 占4个字节. -2147483648 2147483647 Int64, 等于long, 占8个字节. -9223372036854775808 9223372036854775807

自定义函数中的参数返回值 “-> (Int -> Int)”的问题

func makeIncrementer() -> (Int -> Int) { func addOne(number: Int) -> Int { return 1 + number } return addOne } var increment = makeIncrementer() println(increment(7)) 这里为什么要写两个 Int->Int 这里是返回值是参数,左边是参数,右边是返回值的意思. 自定义函数中的参数返回值 "-> (Int

Java数据类型中String、Integer、int相互间的转换

1.Integer转换成int的方法 Integer i;  int k = i.intValue(); 即Integer.intValue(); 2.int转换成Integer int i; Integer it = new Integer(i); 3.String转换成int的方法 String str = "10";   Integer it = new Interger(str); int i = it.intValue(); 即:int i = Integer.intValu

java 中double型转化成int型(转)

java 中double型转化成int型 一个变量 double x: //不进行四舍五入操作: (int)x //进行四舍五入操作: Integer.parseInt(new java.text.DecimalFormat("0").format(x))

C#中bool和Boolean的区别

简单介绍下Boolean和bool的区别: 1.bool是基本值类型,Boolean是对象. 2.bool是Boolean的别名,bool是C#中的,Boolean是.net Framework中的. MSDN中解释bool与Boolean的关系是:bool关键字是System.Boolean的别名.实际使用无任何差别.它们的成员也是一样的. 最后总结:bool就像你的乳名,爹妈及内部所属成员都认识,Boolean就像你的学名.大家都认识.不过不管按照乳名还是学名称呼你,最终目的是一样的,称呼的

int 和 str bool 类型

1 int类型 int > str 2 bool类型 3  str类型 1) upper() 改为大写 例如: s = "sjdklsk" s1 =s.upper(s) print(s1) 结果:SJDKLSK 2)lower() 改为小写 例如: s = "SjDklsK" s1 = s.lower(s) print(s1) 结果:sjdklsk 3) replace() 替换 s = "小猪佩奇,胡图图,旅游" s1 = replace

在C\C++中char 、short 、int各占多少个字节

在C\C++中char .short .int各占多少个字节 : #include <bits/stdc++.h> using namespace std; int main() { cout <<sizeof(char) <<endl; cout <<sizeof(short) <<endl; cout <<sizeof(int) <<endl; // 输出结果依次是1.2.4 } 原文地址:https://www.cn

Int.Parse与ConvertToInt的区别

最近在公司做一个项目的时候,在某次 跟组长讨论的时候.对一个简单的线发生了一些讨论.感觉挺有收获的.现在来总结一下. 在代码开发的时候,底层代码,不要写try-catch.因为写异常处理之后,代码的执行效率会大大的降低.底层的代码,不写异常,但是要经过严格的测试,确保正确.而对于界面层来说,必须接收异常.程序崩溃是非常不友好的.而且也降低了用户对你程序的信任. 对几个小问题的整理: 1.try-catch是否影响效率 自己简单测试了一下,感觉不到效率有什么变化. 然后查找一系列相关博客.发现了一