第2章 基本数据类型教学课件PPT.ppt
《第2章 基本数据类型教学课件PPT.ppt》由会员分享,可在线阅读,更多相关《第2章 基本数据类型教学课件PPT.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、完整版教学课件完整版教学课件第2章 基本数据类型第第2 2章章 基本数据类型基本数据类型u2.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示u2.2 2.2 异彩纷呈异彩纷呈: :数据的表现形式数据的表现形式u2.3 2.3 运算出场运算出场: :最基本的运算符和表达式最基本的运算符和表达式u2.5 2.5 本章小结本章小结u2.4 2.4 有始有终有始有终: :数据的控制台输入与输出数据的控制台输入与输出第第2 2章章 基本数据类型基本数据类型42.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 数据是表征客观事物的、可被记录的、能够被识别的数据是表征客观事物
2、的、可被记录的、能够被识别的各种符号各种符号,包含两种数据,即数值数据和非数值数据包含两种数据,即数值数据和非数值数据。数数值数据值数据用以表示量的大小、正负,如整数、小数等;用以表示量的大小、正负,如整数、小数等;非数非数值数据值数据用以表示一些符号、标记,如英文字母、各种专用用以表示一些符号、标记,如英文字母、各种专用字符等,汉字、图形、声音数据也属于非数值数据。字符等,汉字、图形、声音数据也属于非数值数据。 迄今为止,迄今为止,无论是数值数据还是非数值数据,在计算无论是数值数据还是非数值数据,在计算机内部都是以二进制方式组织和存放的。机内部都是以二进制方式组织和存放的。这就是说,任何这就
3、是说,任何数据要交给计算机处理,都必须用二进制数字数据要交给计算机处理,都必须用二进制数字0 0和和1 1表示,表示,这一过程就是数据的这一过程就是数据的编码编码。显然,一个二进制位只有。显然,一个二进制位只有2 2种种状态状态(0(0和和1)1),可以分别表示两个数据,两个二进制位就有,可以分别表示两个数据,两个二进制位就有4 4种状态种状态(00(00,0101,1010,11)11),可分别表示,可分别表示4 4个数据。要表个数据。要表示的数据越多,所需要的二进制位就越多。示的数据越多,所需要的二进制位就越多。52.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 2.1.
4、1 2.1.1 数值数据的表示数值数据的表示1 1机器数机器数 在计算机中,因为只有在计算机中,因为只有0 0和和1 1两种形式,所以数的正、负两种形式,所以数的正、负号也必须以号也必须以0 0和和1 1表示。通常将二进制数的首位(最左边的一表示。通常将二进制数的首位(最左边的一位)作为符号位,若二进制数是正的则其首位是位)作为符号位,若二进制数是正的则其首位是0 0,若二进,若二进制数是负的则其首位是制数是负的则其首位是1 1。像这种符号也。像这种符号也进行进行数码化的二进数码化的二进制数称为制数称为“机器数机器数”,原来带有,原来带有“+”“-”“+”“-”号的数称为号的数称为“真真值值”
5、。例如:。例如: 十进制十进制 +67 -67 +67 -67 二进制二进制( (真值真值) +1000011 -1000011) +1000011 -1000011计算机内计算机内( (机器数机器数) 01000011 11000011) 01000011 11000011 机器数在机内也有三种不同的表示方法,这就是机器数在机内也有三种不同的表示方法,这就是原码、原码、反码和补码。反码和补码。62.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 (1 1)原码)原码 用首位表示数的符号(用首位表示数的符号(0 0表示正,表示正,1 1表示负),其他位表示负),其他位则为数的真
6、值的绝对值,这样表示的数就是数的原码。则为数的真值的绝对值,这样表示的数就是数的原码。 例如:例如: X=(+105) X=(+105) X X原原=(01101001)=(01101001)2 2 Y=(-105) Y=(-105) Y Y原原=(11101001)=(11101001)2 2 0 0的原码有两种,即的原码有两种,即+0+0原原=(00000000)=(00000000)2 2 -0-0原原=(10000000)=(10000000)2 2 原码简单易懂,与真值转换起来很方便,但如果两个原码简单易懂,与真值转换起来很方便,但如果两个异号的数相加或两个同号的数相减就要做减法,这
7、时必须异号的数相加或两个同号的数相减就要做减法,这时必须判别这两个数哪一个绝对值大,用绝对值大的数减去绝对判别这两个数哪一个绝对值大,用绝对值大的数减去绝对值小的数,运算结果的符号就是绝对值大的那个数的符号值小的数,运算结果的符号就是绝对值大的那个数的符号。这些操作比较麻烦,运算的逻辑电路实现起来也比较复。这些操作比较麻烦,运算的逻辑电路实现起来也比较复杂,于是为了将加法和减法运算统一成只做加法运算,就杂,于是为了将加法和减法运算统一成只做加法运算,就引进了反码和补码。引进了反码和补码。72.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 (2 2)反码)反码 反码使用得较少,
8、它只是补码的一种过渡。正数的反码反码使用得较少,它只是补码的一种过渡。正数的反码与其原码相同,负数的反码是这样求得的:符号位不变,其与其原码相同,负数的反码是这样求得的:符号位不变,其余各位按位取反余各位按位取反( (即即0 0变为变为1 1,1 1变为变为0)0)。例如:。例如:+65+65原原=(01000001)=(01000001)2 2 +65+65反反=(01000001)=(01000001)2 2-65-65原原=(11000001)=(11000001)2 2 -65-65反反=(10111110)=(10111110)2 2 容易验证:一个数反码的反码就是这个数本身。容易验
9、证:一个数反码的反码就是这个数本身。82.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 (3 3)补码)补码 正数的补码与其原码相同,负数的补码是它的反码加正数的补码与其原码相同,负数的补码是它的反码加1 1,即求反加,即求反加1 1。例如:。例如: +63+63原原=(00111111)=(00111111)2 2 +63+63反反=(00111111)=(00111111)2 2 +63+63补补=(00111111)=(00111111)2 2 -63-63原原=(10111111)=(10111111)2 2 -63-63反反=(11000000)=(11000000
10、)2 2 -63-63补补=(11000001)=(11000001)2 2 同样容易验证:同样容易验证:一个数补码的补码就是其原码。一个数补码的补码就是其原码。 引入了补码以后,两个数的加减法运算就可以统一用引入了补码以后,两个数的加减法运算就可以统一用加法运算来实现,此时两数的符号位也当成数值直接参加加法运算来实现,此时两数的符号位也当成数值直接参加运算,并且有这样一个结论,即两数和的补码等于两数补运算,并且有这样一个结论,即两数和的补码等于两数补码的和。所以在码的和。所以在计算机系统中一般都采用补码来表示带符计算机系统中一般都采用补码来表示带符号的数。号的数。92.1 2.1 一探究竟一
11、探究竟: :数据的机内表示数据的机内表示 (3 3)补码)补码 求求(34-68)(34-68)1010的值,事实上的值,事实上: : (+34) (+34)1010 =(+0100010) =(+0100010)2 2 (+34) (+34)原原=(00100010)=(00100010)2 2 (+34) (+34)补补 =(00100010)=(00100010)2 2 (-68 ) (-68 )1010 =(-1000100) =(-1000100)2 2 (-68) (-68)原原=(11000100)=(11000100)2 2 (-68) (-68)补补=(10111100)=(
12、10111100)2 2 竖式相加竖式相加: : 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 34 34 补补 + +) 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 -10-10补补 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 运算结果也是一个补码,符号位是运算结果也是一个补码,符号位是1 1,此结果肯定是,此结果肯定是一个负数。按照补码的补码为原码法则,除符号位外,其一个负数。按照补码的补码为原码法则,除符号位外,其余余7 7位求反再加位求反再加1 1,就得到,就得到1010001010100010,这就是,这就是-34-34的原码
13、的原码,所以,所以(34-68)(34-68)10 10 =-34=-34。102.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 2 2数的定点和浮点表示数的定点和浮点表示 计算机处理的数有整数也有实数。实数有整数部分,计算机处理的数有整数也有实数。实数有整数部分,也带有小数部分。机器数的小数点的位置是隐含规定的,也带有小数部分。机器数的小数点的位置是隐含规定的,若约定小数点的位置是固定的,这就是定点表示法;若约若约定小数点的位置是固定的,这就是定点表示法;若约定小数点的位置是可以变动的,则称为浮点表示法。定小数点的位置是可以变动的,则称为浮点表示法。 (1 1)定点数)定点
14、数 定点数是小数点位置固定的机器数。通常用一个存储定点数是小数点位置固定的机器数。通常用一个存储单元的首位表示符号,小数点的位置约定在符号位的后面单元的首位表示符号,小数点的位置约定在符号位的后面或者约定在有效数位之后,当小数点位置约定在符号位之或者约定在有效数位之后,当小数点位置约定在符号位之后时,此时的机器数只能表示小数,称为定点小数;当小后时,此时的机器数只能表示小数,称为定点小数;当小数点位置约定在所有有效数位之后时,此时机器数只能表数点位置约定在所有有效数位之后时,此时机器数只能表示整数,称为定点整数。如图示整数,称为定点整数。如图2-12-1表示定点数的两种情况:表示定点数的两种情
15、况:112.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示图图2-1 定点数定点数2 2数的定点和浮点表示数的定点和浮点表示 例如:字长为例如:字长为1616位位(2(2个字节个字节) ),符号位占,符号位占1 1位,数值部位,数值部分占分占1515位,小数点约定在尾部,于是机器数位,小数点约定在尾部,于是机器数0111 1111 0111 1111 1111 11111111 1111表示二进制数表示二进制数+111 1111 1111 1111+111 1111 1111 1111,也就,也就是十进制数是十进制数+32767+32767,这就是定点整数。,这就是定点整数。
16、若小数点约定在符号位后面,则机器数若小数点约定在符号位后面,则机器数1 000 0000 1 000 0000 0000 00010000 0001表示二进制数表示二进制数-.000 0000 0000 0001-.000 0000 0000 0001,也就,也就是十进制数是十进制数 2 2-15-15。122.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示(2 2)浮点数)浮点数 浮点数是小数点位置不固定的机器数。从以上定点数浮点数是小数点位置不固定的机器数。从以上定点数的表示中可以看出,即便用多个字节来表示一个机器数,的表示中可以看出,即便用多个字节来表示一个机器数,其范围
17、大小也往往不能满足一些问题的需要,于是就增加其范围大小也往往不能满足一些问题的需要,于是就增加了浮点运算的功能。了浮点运算的功能。 一个十进制数一个十进制数MM可以规范化成可以规范化成M=10M=10e emm,例如:,例如:123.456 = 0.123456123.456 = 0.12345610103 3 ,那么任意一个数,那么任意一个数N N都可以都可以规范化为:规范化为: N N= =b be emm 其中:其中:b b为基数为基数( (权权) ),e e为阶码,为阶码,mm为尾数,这就是科为尾数,这就是科学记数法。图学记数法。图2-22-2表示一个浮点数。表示一个浮点数。132.1
18、 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 在在浮点数中,机器数可分为两部分:阶码部分和尾数浮点数中,机器数可分为两部分:阶码部分和尾数部分。部分。从尾数部分中隐含的小数点位置可知,尾数总是纯从尾数部分中隐含的小数点位置可知,尾数总是纯小数,它只是给出了有效数字,尾数部分的符号位确定了小数,它只是给出了有效数字,尾数部分的符号位确定了浮点数的正负。阶码给出的总是整数,它确定小数点移动浮点数的正负。阶码给出的总是整数,它确定小数点移动的位数,其符号位为正则向右移动,为负则向左移动。阶的位数,其符号位为正则向右移动,为负则向左移动。阶码部分的数值部分越大,则整个浮点数所表示的值域
19、肯定码部分的数值部分越大,则整个浮点数所表示的值域肯定越大。越大。 由于阶码的存在,同样多的字节所表示机器数的范围由于阶码的存在,同样多的字节所表示机器数的范围浮点数就比定点数大得多,浮点数就比定点数大得多,另一方面,浮点数的运算比定另一方面,浮点数的运算比定点数复杂得多,实现浮点运算的逻辑电路也复杂一些。点数复杂得多,实现浮点运算的逻辑电路也复杂一些。142.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示2.1.22.1.2西文字符的编码西文字符的编码 前面所述是数值数据的编码,而计算机处理的另一大类前面所述是数值数据的编码,而计算机处理的另一大类数据是字符,各种字母和符号也
20、必须用二进制数编码后才能数据是字符,各种字母和符号也必须用二进制数编码后才能交给计算机来处理。目前,交给计算机来处理。目前,国际上通用的西文字符编码是国际上通用的西文字符编码是ASCIIASCII码码(American Standard Code for Information (American Standard Code for Information InterchangeInterchange,美国国家标准信息交换代码,美国国家标准信息交换代码) )。ASCIIASCII码有两码有两个版本,即标准个版本,即标准ASCIIASCII码和扩展的码和扩展的ASCIIASCII码。码。 标准标
21、准ASCIIASCII码是码是7 7位码,即用位码,即用7 7位二进制数来编码,用一位二进制数来编码,用一个字节存储或表示,其最高位总是个字节存储或表示,其最高位总是0 0,7 7 位二进制数总共可编位二进制数总共可编出出2 27 7=128=128个码,表示个码,表示128128个字符(见表个字符(见表2-12-1)。前面)。前面3232个码个码及最后及最后1 1个码分别代表不可显示或打印的控制字符,它们为计个码分别代表不可显示或打印的控制字符,它们为计算机系统专用。算机系统专用。152.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示 数字字符数字字符0 09 9的的ASCI
22、IASCII码是连续的,其码是连续的,其ASCIIASCII码分别码分别是是48485757;英文字母大写;英文字母大写A AZ Z和小写和小写a az z的的ASCIIASCII码分码分别也是连续的,分别是别也是连续的,分别是65659090和和9797122122。依据这个规。依据这个规律,当知道一个字母或数字的律,当知道一个字母或数字的ASCIIASCII后,很容易推算出其后,很容易推算出其他字母和数字的他字母和数字的ASCIIASCII码。码。 扩展的扩展的ASCIIASCII码是码是8 8位码位码,即用,即用8 8位二进制数来编码,位二进制数来编码,用一个字节存储表示。用一个字节存储
23、表示。8 8位二进制数总共可编出位二进制数总共可编出2 28 8 = 256 = 256个码,它的前个码,它的前128128个码与标准的个码与标准的ASCIIASCII码相同,后码相同,后128128个个码表示一些花纹图案符号。码表示一些花纹图案符号。 对于西文字符还存在另外一种编码方案,这就是对于西文字符还存在另外一种编码方案,这就是EBCDICEBCDIC码码(Extened Binary Coded Decimal (Extened Binary Coded Decimal Interchange Code)Interchange Code),它主要用于,它主要用于IBMIBM系列大型主
24、机,而系列大型主机,而ASCIIASCII码普遍用于微型机和小型机。码普遍用于微型机和小型机。162.1 2.1 一探究竟一探究竟: :数据的机内表示数据的机内表示十进十进制制字字符符十进十进制制字字符符十进十进制制字字符符十进十进制制字字符符0NUL32SP64961SOH33!65A97a2STX34“66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL3971G103g8BS40(72H104h9HT41)73I105i10LF42*74J106j11VT43+75K107ku2.1 2.1 一探究竟一探究竟:
25、 :数据的机内表示数据的机内表示u2.2 2.2 异彩纷呈异彩纷呈: :数据的表现形式数据的表现形式u2.3 2.3 运算出场运算出场: :最基本的运算符和表达式最基本的运算符和表达式u2.5 2.5 本章小结本章小结u2.4 2.4 有始有终有始有终: :数据的控制台输入与输出数据的控制台输入与输出第第2 2章章 基本数据类型基本数据类型182.2 2.2 异彩纷呈异彩纷呈: :数据的表现形式数据的表现形式2.2 2.2 异彩纷呈异彩纷呈数据的表现形式数据的表现形式 C C语言中提供的数据类型如图语言中提供的数据类型如图2-32-3所示。所示。C C语言程序中语言程序中所使用的每个数据都属于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 基本数据类型教学课件PPT 基本 数据类型 教学 课件 PPT
限制150内