启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第14天,点击查看活动详情
算术类型分为两类,整型(包括字符和布尔类型)和浮点型。
算术类型的的尺寸(该类型数据占的比特数)在不同机器上有所差别,这里列出一下C++标准规定的尺寸的最小值,这里需要注意的是这些类型同时运行编译器赋予更大的尺寸,但是类型占的比特数不同,它能表示的范围也是不一样的。
| 类型 | 含义 | 尺寸 |
|---|---|---|
| bool | 布尔值类型 | 未定义,true,false |
| char | 字符 | 8位 |
| wchart_t | 宽字符 | 16位 |
| char16_t | unicode字符 | 16位 |
| char32_t | unicode字符 | 32位 |
| short | 短整型 | 16位 |
| int | 整型 | 16位 |
| long | 长整型 | 32位 |
| long_long | 长整型 | 64位 |
| float | 单精度浮点数 | 6位有效数字 |
| double | 双精度浮点数 | 10位有效数字 |
| long_duble | 扩展精度浮点数 | 10位有效数字 |
来仔细分开说一下上面的数据类型:
布尔类型
布尔类型取值是真(true)假(false)
字符类型
C++提供了几种字符类型,其中多数支持国际化,基本的字符串类型只有char类型,一个char的空间应该确保可以存放机器最大扩展字符集中的任意一个字符,也就是一个char的大小和一个机器字节一样。
其他的字符类型用于扩展字符串,比如wchart_t类型用于确保可以存放机器最大扩展字符集中的任意一个字符,char16_t,char32_t是为unicode(unicode是用于表述所有自然语言中的字符的标准)字符串服务的。
整型
在c++当中整数也是需要不同尺寸来表达的,但是c++规定,一个int至少要和一个sort一样大,一个long至少要和一个int一样大,一个long long至少要和一个long一样大,
浮点型
在聊浮点型之前需要补充几个个概念:
字节与字
由于计算机用二进制进行计算,所以大多数计算机以2的整数次幂个比特(比特的概念之前在基础概念是聊过的)作为块来处理内存,而计算机可以寻址的最小单位叫做字节(一个字节是8比特),那么比字节大的储存单元就是字,所谓的字是有字节组成的,但不是固定的,有可能字的大小是32比特,有可能字的大小是64比特,这个和不同的机器配置相关,然后这样看来,一个字可能是4字节,也可能是8字节。
而float以1个字来表示,double用2个字表示,long double使用3到4个字表示。
有符号类型和无符号类型
除去上面的类型之外,c++还划分为有符号类型(signed)和无符号类型(unsigned),带符号类型可以标识正数,0,负数,无符号类型只能表示大于0的值。
类型 int,short,long,long long,float,double,long double,这些类型前面添加unsigned就可以得到无符号类型。
查阅了很多资料,c++需要很多计算机基础进行开端,太难了,还请大佬们多多指点。