- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章C和C 语言基本知识
第二章 C和C++语言基本知识
2.1 数据类型(data types)
程序的主要任务之一是处理数据。数据的类型很多,可归纳为两大类:C++系统所提供的一系列“预定义数据类型”;用户自己所定义的一系列“用户自定义类型”。
本章主要介绍 “预定义数据类型”,各“预定义数据类型”可用以下关键词表达,例如:
int,char,double,bool,long,等。
程序可以为各数据类型建立各变量(variable),例如:
int j;
其中int是整型数据类型,而j则是整型变量。
变量被称为数据类型的实例(instances),建立变量的过程称为实例化(instantiation)。
2.1.1 各种数据类型的长度
所有数据类型的变量都在内存中占据一定空间,其长度可使用sizeof来确定。sizeof是一个宏而不是函数(本章§2.6.4中将介绍宏与函数的区别),可用于求某个变量在内存中的长度,也即它所占有的字节数。其使用格式如:
对int a;可用
sizeof(a);或
sizeof(int);
其它如sizeof(double);等
[例1]读取预定义(即由系统本身所定义的)类型数据的长度(这些数据的说明见任何C语言的书)
// var_size.cpp
// To check the sizes of different kinds of variables
#include iostream.h
void main()
{
coutsizeof(char) :sizeof(char)endl;
coutsizeof(bool) :sizeof(bool)endl;
coutsizeof(short) :sizeof(short)endl;
coutsizeof(int) :sizeof(int)endl;
coutsizeof(unsigned) :sizeof(unsigned)endl;
coutsizeof(long) :sizeof(long)endl;
coutsizeof(float) :sizeof(float)endl;
coutsizeof(double) :sizeof(double)endl;
coutsizeof(long double) :sizeof(long double)endl;
}
/* Results: (in a 32-bit machine)
sizeof(char) :1
sizeof(bool) :1
sizeof(short) :2
sizeof(int) :4
sizeof(unsigned) :4
sizeof(long) :4
sizeof(float) :4
sizeof(double) :8
sizeof(long double) :8 */
此结果在16位机上是不同的。但现已不用16位机。
2.1.2 整型数据
例如int j;(整数)和
unsigned int i;(正整数)
它们各占32个二进制位。
2.1.2.1 正整数
正整数有两类:
第一类为:“unsigned int i;”
表示使用32位表示正整数i,它不可能为负值。其范围为0至约为4.2x109,即0至(232-1)(约为 0至 +42亿,确切地为4,294,967,648,人口统计已够用)。
现以8位为例表示13:
13 = 0 0 0 0 1 1 0 1
128 64 32 16 8 4 2 1
其中最高有效位(MSB, Most Significant Bit)表示128,最低有效位(LSB, Least Significant Bit)表示1。
第二类为:“[signed] int j;”表示使用32位表示可正可负的整数j,其范围约为–21亿至 +21亿,即-232/2至(232/2)-1 (确切地为-2,147,483,648至+2,147,483,647)。
仍以8位为例表示13:
13 = 0 0 0 0 1 1 0 1
符号 64 32 16 8 4 2 1
其中最高有效位为符号位,正数的最高有效位为0,负数的最高有效位为1。
2.1.2.2 负整数
用补码(two?s complement)表示(“求反加”):0 加1得 -13为:
反码加1 1 1 1 1 0 0 1 1 负数的最高有效位为1。
读取负码的方法也是通过“求反加1”求得其绝对值如下
*2.1.3 浮点型(floating-point)或实型(real)数据
例如float f;(占32个二进制位)。
double d;(占64个二进制位)。
以64位浮点型数据为例:
它在内存中分为两部分:指数部分x
您可能关注的文档
最近下载
- RoHS管理体系实施要点.pptx VIP
- 大连理工大学-信号2013-2016答案.pdf VIP
- 2023年4月湖北自考美术鉴赏试卷及答案.pdf VIP
- 2025年助产士工作总结和计划.docx
- 2025年辽宁职业学院单独招生考试数学题库.docx VIP
- 整理赤壁赋原文对照翻译.doc VIP
- DL∕T 1736-2017 光纤光栅仪器基本技术条件.pdf VIP
- 2026蒙牛乳业(集团)股份有限公司招聘考试参考试题及答案解析.docx VIP
- 22D701-3电缆桥架安装(26.9MB)(26.85MB)5ce2e72e69780631(1).pdf VIP
- 大连理工大学 信号与系统 1999.doc VIP
原创力文档


文档评论(0)