1.1基本内置类型
来源:互联网 发布:淘宝v3会员是什么级别 编辑:程序博客网 时间:2024/04/26 07:30
数据类型非常重要,它告诉我们数据的意义和对数据可进行的操作。C++定义了一套包含算术类型和空类型在内的基本数据类型。其中算术类型又包含字符、整型数、布尔值和浮点数,而空类型没有具体的值,只是用于一些特殊的场合,例如在函数不返回任何类型时,就用空类型表示返回类型。
1.1.1算术类型
算术类型包含整型和浮点型。这些类型在不同的机器上会有一些差别,具体在于它们所占有的比特位上,下表列出C++标准规定的最小尺寸值,同时允许编译器赋予这写类型更多的比特位。由于比特位数的不同,导致了这些类型所能表示的数值范围也不同。
布尔类型(bool)的取值是真(true)或假(flase)。
C++提供了多种字符类型,其中多数支持国际化。基本字符类型是char,一个char的空间应该确保可以存放机器基本字符集中任意字符对应的数字值。也就是讲,一个char的大小应该和一个机器字节的大小一样。wchar_t、char16_t、char32_t用于扩展字符集,wchar_t类型用于确保可以存放机器最大扩展字符集中的任意一个字符,char16_t和char32_t则是为Unicode字符集服务(Unicode是用于表示所有自然语言中字符的标准)。
除字符和布尔类型之外,其他整型用来表示(可能)不同尺寸的整数。C++语言规定了一个int至少是一个short的大小,一个long至少是一个int的大小,一个long long至少是一个long的大小。其中数据类型long long是在C++中新定义的。
内置数据类型的机器实现
计算机他只认识0和1,因此计算机内部的数据都是用0和1的字串来表示的。我们把这种表示叫做比特序列。就比如
0000001110101010101000001111110
大多数计算机以2的整数次幂个比特作为块来处理内存,可寻址的最小内存块称为“字节(byte)”,存储的基本单元称为“字(word)”,它通常由几个字节组成。在C++语言中,一个字节至少要能容纳基本字符集中的任意字符。大多数机器的字节由8个比特位构成,字则由32或64个比特位构成,也就是4或8字节。
大多数计算机将存储的每个字节与一个被称作地址的数字关联起来,在一个字节为8比特、字为32比特的机器上可能可以看到一个字的内存区域如下一般的表示
0 0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1对应的地址从上倒下分别为:736424、736425、736426、736427
我们可以用某个地址来表示从该地址开始的大小不同的比特串,例如,可以用地址736424的那个字或者地址736427的那个字节来分别表示我们选择的数据。为了赋予内存中的某个地址明确的含义,必须先知道存储在该地址的数据类型。类型决定了数据所占的比特数以及该如何去解释这些比特的内容。
如果位置736424处的对象类型是float,并且该机器中float类型以32比特存储,那么我们就知道这个对象的内容占满了整个字。这个float数的实际数值依赖于该机器存储浮点数的机制。如果位置736424处的对象类型是unsigned char,并且该机器使用ISO-8859-1字符集,则该位置处的字节表示一个分号。
浮点型可表示单精度、双精度、和扩展精度值。C++规定了一个浮点数的有效位的最小值,但大部分编译器都实现了更高的精度。通常情况下float以一个字(32位)来表示,double以两个字来表示,long long以3至4个字来表示。一般来说,类型float和double分别有7和16个有效位;类型long double通常被用于有特殊浮点需求的硬件,它的具体实现不同,精度也不同。
- 1.1基本内置类型
- C++基本内置类型
- 2.1 基本内置类型
- 基本内置类型
- 2.1 基本内置类型
- (二)基本内置类型
- C++基本内置类型
- C++基本内置类型
- c++基本内置类型
- C++ 基本内置类型
- 基本内置类型
- C++基本内置类型
- Python的基本内置类型
- Python的基本内置类型
- 基本内置类型的存储空间
- 2.1 基本内置类型 笔记
- C++基本内置类型详解
- python中的内置基本类型
- mysql数据库zip版本的安装
- Spring源码
- 让你秒懂apache禁止网络爬虫采集的方法
- java基础 第四章 面向对象
- 如何在eclipse下查看jdk源码
- 1.1基本内置类型
- servlet+mysql+html用户登录界面
- Redis常用命令-List
- 好的用户界面-界面设计的一些技巧
- Python 爬虫入门(一) Python和常用库的安装
- 基于Spring Boot+jsoup+redis抓取CSDN每周干货的RESTFul爬虫
- Js中Prototype、__proto__、Constructor、Object、Function关系介绍
- java原始类型
- Linux—httpd的源码包安装