C++内置类型与Qt内置类型汇总

4 篇文章 0 订阅

C++内置类型与Qt内置类型汇总

基本描述

数据类型描述了数值的表示法、解释和结构,并以算法操作。C++中数据类型分为内置类型和扩展类型两大类。内置类型就是c++语言本身提供的基本数据类型,比如,整型数,浮点数,字符,布尔值等等。而扩展类型则是c++语言根据基本类型扩展出的其他类型。
机器中的数据类型
所有在电脑中,基于数字电子学的底层数据,都是以比特(0 或 1)表示。其中数据的最小的定址单位,称为字节(通常是八比特,以八个比特为一组)。机器码指令处理的单位,称作字长(至 2007 年止,一般为 32 或 64 比特)大部分对字长的指令解译,主要以二进制为主,如一个 32 比特的字长,可以表示从 0 至 232-1 的无符号整数值,或者表示从 -231 至 231-1 的有符号整数值。存在着特殊的算术指令,对字长中的比特使用不同的解释,以此作为浮点数。

数值范围

每一个数据类型都有一个数值上的最大和最小值,称作数值范围。当使用较小的类型时,只能存储范围之内的数值。试图存储一个超出其范围的数值,可能会导致编译或运行错误,或者不正确的计算结果(因为被截断)。
一个变量的范围,是基于用以保存数值的字节数目,而且整数数据类型通常能够存储 2n 数值(n指的是比特)。对于其它的数据类型(例如,浮点数),其数值范围更为复杂,且几乎取决于所使用的存储方法。

bit与byte的区别

bit

  • “bit”是原子的
  • 最小的存储单位 一个位只存储0或1
  • 在计算机中它全是0和1位
  • 任何具有两个独立状态的东西都可以存储在1个bit
  • 在芯片中:电荷= 0/1
  • 在硬盘中:北/南磁场的点= 0/1
  • 一个bit有点太小无法广泛使用
  • 将8位组合在一起以产生1个字节
  • 计算机中的所有内容都是0和1。该位只存储0或1:它是存储的最小构建块。

Byte

  • 一个byte= 8个bit
  • 例如0 1 0 1 1 0 1 0
  • 一个字节可以存储一个字符,例如’A’或’x’或’$’机器字长

机器字长

机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。即字长越长,数的表示范围也越大,精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。

C++内置数据类型

数据类型名称类别字节数别名取值范围内容
int整数*signed,signed int由操作系统决定,即与操作系统的"字长"有关int类型是大于或等于short int类型的大小但小于或等于long类型的大小的整数类型。int类型的对象可声明为signed int或unsigned int。Signed int是int的同义词。
unsigned int*unsigned由操作系统决定,即与操作系统的"字长"有关
__int8整数1char,signed char–128 到 127固定大小的整数 __int“n,其中 n 是整数变量的大小(以比特为单位)。
__int16整数2short,short int,signed short int–32,768 到 32,767固定大小的整数 __int“n,其中 n 是整数变量的大小(以比特为单位)。
__int32整数4signed,signed int–2,147,483,648 到 2,147,483,647固定大小的整数 __int“n,其中 n 是整数变量的大小(以比特为单位)。
__int64整数8–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807固定大小的整数 __int“n,其中 n 是整数变量的大小(以比特为单位)。
bool整数1false 或 truebool 类型是可以具有 true 或 false 这两个值之一的整数类型。 其大小未指定。
char整数1signed char–128 到 127类型 char 是通常包含基本执行字符集成员的整数类型 - 默认情况下,这是 Microsoft C++ 中的 ASCII。C++ 编译器将 char、signed char 和 unsigned char 类型的变量视为不同类型。char 类型的变量将提升到 int,就像它们在默认情况下是 signed char 类型一样,除非使用 /J 编译选项。 在这种情况下,它们被视为 unsigned char 类型并提升为 int(没有符号扩展)。
unsigned char10 到 255
short整数2short int,signed short int–32,768 到 32,767short int 类型(或 short)是大于或等于 char 类型的大小但小于或等于 int 类型的大小的整型类型。short 类型的对象可声明为 signed short 或 unsigned short。Signed short 是 short 的同义词。
unsigned short2unsigned short int0 到 65,535
long整数4long int,signed long int–2,147,483,648 到 2,147,483,647long 类型(或 long int)是大于或等于 int 类型的大小的整数类型。long 类型的对象可声明为 signed long 或 unsigned long。Signed long 是 long 的同义词。
long long整数8none (but equivalent to __int64)–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807大于无符号 long。long long 类型的对象可声明为 signed long long 或 unsigned long long。Signed long long 是 long long 的同义词。
unsigned long4unsigned long int0 到 4,294,967,295
enum*由操作系统决定,即与操作系统的"字长"有关
float浮点43.4E +/- 38 (7 digits)float 类型是最小的浮点类型。
double浮点81.7E +/- 308 (15 digits)double 类型是大于或等于 float 类型的大小但小于或等于 long double 类型的大小的浮点类型。
long double浮点81.7E +/- 308 (15 digits)long double 类型是大于或等于 double 类型的浮点类型。
wchar_t整数2__wchar_t0 到 65,535wchar_t 类型的变量指定宽字符或多字节字符类型。 默认情况下,wchar_t 是本机类型,但可以使用 /Zc: wchar_t- 使 wchar_t 成为 unsigned short 的 typedef。__wchar_t 类型是本机 wchar_t 类型的 Microsoft 专用同义词。在字符或字符串文本前使用 L 前缀可指定宽字符类型。

Microsoft C++ 中的基础类型所需的存储量。

类型大小
bool, char, unsigned char, signed char, __int81 个字节
__int16, short, unsigned short, wchar_t, __wchar_t2 个字节
float, __int32, int, unsigned int, long, unsigned long4 个字节
double, __int64, long double, long long8 个字节

Qt中的基本数据类型

Qt中的数据类型C++中的数据类型描述
qint8signed char有符号8比特数据
qint16signed short16位数据类型
qint32signed int32位有符号数据类型
qint64long long int 或(__int64)64位有符号数据类型,Windows中定义为__int64
qintptrqint32 或 qint64指针类型 根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qlonglonglong long int 或(__int64)Windows中定义为__int64
qptrdiffqint32 或 qint64根据系统类型不同而不同,32位系统为qint32、64位系统为qint64
qrealdouble 或 float除非配置了-qreal float选项,否则默认为double
quint8unsigned char无符号8比特数据类型
quint16unsigned short.无符号16比特数据类型
quint32unsigned int无符号32比特数据类型
quint64unsigned long long int 或 (unsigned __int64)无符号64比特数据类型,Windows中定义为unsigned __int64
quintptrquint32 或 quint64根据系统类型不同而不同,32位系统为quint32、64位系统为quint64
qulonglongunsigned long long int 或 (unsigned __int64).Windows中定义为__int64
ucharunsigned char无符号字符类型
uintunsigned int无符号整型
ulongunsigned long无符号长整型
ushortunsigned short无符号短整型

参考资料

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值